Difference between revisions of "Python"

(Python3)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
We're currently using our own Python binary (``smbpython``) which is linked against the Python libraries and includes built-in bindings for several Samba libraries. It also sets up the path Python uses to find Python modules automatically when you are running it from inside of the Samba source directory.
+
[[Python/Debugging|Debugging]]
  
Using the system-provided Python should also be possible in the future, but will require the following changes when doing so:
+
= Available modules =
 +
 
 +
== LDB ==
 +
 
 +
LDB is the database engine used in Samba4. For further information see [http://ldb.samba.org/].
  
* We need to set sys.path somehow so python can find our modules when running inside of the source tree
+
Installing in debian/ubuntu:
* We need to build .so version of the Samba Python modules
+
 +
apt-get install python-ldb
  
The latter requires some changes to the build system, so it may be useful to wait until we've switched to an alternative build system.
+
== tdb ==
  
= Available modules =
+
== samba.registry ==
 +
 
 +
== samba.param (loadparm) ==
 +
 
 +
== samba.credentials ==
 +
 
 +
== samba.tests ==
 +
 
 +
[[Writing_Python_Tests|Tests written in Python]] should be under this namespace.  This includes both unit and integration tests.
 +
 
 +
== samba.dcerpc ==
 +
 
 +
All RPC protocols have python bindings avaiable generated by [[PIDL]] and exposed as '''samba.dcerpc.''protocol'''''
 +
 
 +
== ... ==
 +
There is some other modules, we need to describe them there.
 +
 
 +
=Python3=
 +
 
 +
Samba and the libraries [[TDB]] [https://talloc.samba.org talloc] [[LDB|ldb]] have both Python and [[Python3]] modules.
  
* ldb
+
More detail on the progress to shipping [[Python3|Samba with Python3]] is on that page
* tdb
 
* registry
 
* param (loadparm)
 
* credentials
 
* ...
 

Latest revision as of 07:24, 26 January 2018

Debugging

Available modules

LDB

LDB is the database engine used in Samba4. For further information see [1].

Installing in debian/ubuntu:

apt-get install python-ldb

tdb

samba.registry

samba.param (loadparm)

samba.credentials

samba.tests

Tests written in Python should be under this namespace. This includes both unit and integration tests.

samba.dcerpc

All RPC protocols have python bindings avaiable generated by PIDL and exposed as samba.dcerpc.protocol

...

There is some other modules, we need to describe them there.

Python3

Samba and the libraries TDB talloc ldb have both Python and Python3 modules.

More detail on the progress to shipping Samba with Python3 is on that page