An open API service indexing awesome lists of open source software.

https://github.com/polypheny/polypheny-connector-python

Polypheny Connector for Python
https://github.com/polypheny/polypheny-connector-python

Last synced: 14 days ago
JSON representation

Polypheny Connector for Python

Awesome Lists containing this project

README

        




Light: 'Resume application project app icon' Dark: 'Resume application project app icon'


# Polypheny Connector for Python

This enables Python programs to access Polypheny databases, using an API that is compliant with the [Python Database API Specification v2.0 (PEP 249)](https://www.python.org/dev/peps/pep-0249/).

## Installation

The recommended way to install the Python Connector for Polypheny is via pip:
```bash
pip install polypheny
```

Alternatively, if you prefer to install the package manually you can also download the latest [release](https://github.com/polypheny/Polypheny-Connector-Python/releases/), extract the archive and install it manually:
```bash
cd /path/to/polyphney-connector-python-x.y.z/
python setup.py install
```

## Getting Started

A few examples of the most common functionalities provided by the adapter:

```python3
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](https://docs.polypheny.com/en/latest/drivers/python/overview).

## Tests
Run the tests with coverage report:
```
coverage run --source polypheny -m pytest && coverage report -m
```

## Roadmap
See the [open issues](https://github.com/polypheny/Polypheny-DB/labels/A-python) for a list of proposed features (and known issues).

## Contributing
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](https://github.com/polypheny/Admin) and our [Website](https://polypheny.org) for guidelines and additional information.

Please note that we have a [code of conduct](https://github.com/polypheny/Admin/blob/master/CODE_OF_CONDUCT.md). Please follow it in all your interactions with the project.

## License
The Apache 2.0 License