This enables Python programs to access Polypheny databases, using an API that is compliant with the Python Database API Specification v2.0 (PEP 249).
The recommended way to install the Python Connector for Polypheny is via pip:
pip install polypheny
Alternatively, if you prefer to install the package manually you can also download the latest release, extract the archive and install it manually:
cd /path/to/polyphney-connector-python-x.y.z/
python setup.py install
A few examples of the most common functionalities provided by the adapter:
import polypheny
# Connect to locally running Polypheny via UNIX sockets (on Linux, BSD and macOS)
con = polypheny.connect()
# Unencrypted over the network (all systems)
con = polypheny.connect(
('127.0.0.1', 20590),
username='pa',
password='',
transport='plain',
)
# Get a cursor
cursor = con.cursor()
# Create a new table
cursor.execute("CREATE TABLE dummy (id INT NOT NULL, text VARCHAR(2), num INT, PRIMARY KEY(id))")
# Insert values into table
cursor.execute("INSERT INTO dummy VALUES (407 , 'de', 93)")
con.commit()
# Execute a query
cursor.execute("SELECT * from dummy")
print("\nRelational results from SQL")
for row in cursor:
print("\t", row)
# Accessing data using MQL
cursor.executeany('mongo', 'db.dummy.find()', namespace='public')
print("\nDocument results from MQL (as Python dicts)")
for doc in cursor:
print("\t", doc)
cursor.execute("DROP TABLE dummy")
# Close the connection
con.close()
An in-depth and more detailed documentation can be found here.
Run the tests with coverage report:
coverage run --source polypheny -m pytest && coverage report -m
See the open issues for a list of proposed features (and known issues).
We highly welcome your contributions to the Polypheny Connector for Python. If you would like to contribute, please fork the repository and submit your changes as a pull request. Please consult our Admin Repository and our Website for guidelines and additional information.
Please note that we have a code of conduct. Please follow it in all your interactions with the project.
The Apache 2.0 License