BIGSdb Python Toolkit
Project description
BIGSdb_Python_Toolkit
Python libraries for interacting with local BIGSdb databases.
The modules included in this package enable scripts to be written in Python that can query and update local BIGSdb databases using similar method calls as used in the main BIGSdb Perl package.
A script object that is passed a database config name will automatically parse the BIGSdb configuration and database configuration files, and set up the required database connections. Methods for querying databases are included in the Datastore module. More methods will be added as required to replicate the Perl BIGSdb libraries.
BIGSdb plugins can also now be written in Python so that additional analysis functionality can be added to the platform without having to write Perl code.
Installation
It is recommended that you install this in a virtual environment, e.g.
python -m venv .venv
source .venv/bin/activate
Install with pip:
pip install bigsdb
You can de-activate the virtual environment with:
deactivate
You can also clone the git repository and install dependencies. You will need to clone the repository to access various scripts needed to enable plugins.
git clone https://github.com/kjolley/BIGSdb_Python_Toolkit.git
cd BIGSdb_Python_Toolkit
pip install -r requirements.txt
Initiating plugins
BIGSdb needs to know about any plugins. In order to enable this, there is a
script called create_plugin_list.py found in the scripts directory. Run this
and save the output to a file called python_plugins.json and copy this to
/etc/bigsdb. This contains everything that BIGSdb needs to know about each
plugin including descriptive attributes, Javascript libraries needed and any
inline Javascript that should be added to the page.
python create_plugin_list.py --plugin_dir ../sample_plugins/
BIGSdb will call a script called plugin_runner.py and it needs to know the
location of this as well as the location of the Python plugins. Set the
python_plugin_runner_path and python_plugin_dir in bigsdb.conf, e.g.
python_plugin_runner_path=/home/bigsdb/BIGSdb_Python_Toolkit/.venv/bin/python /home/bigsdb/BIGSdb_Python_Toolkit/plugin_runner.py
python_plugin_dir=/home/bigsdb/BIGSdb_Python_Toolkit/sample_plugins
Tests
Many of the tests involve creating and dropping a test database. The user running the tests must have permissions set to enable this. They will also need to be able to modify tables which may be owned by the apache user. If running as the bigsdb user, run the following to set these permissions:
psql
ALTER USER bigsdb createdb;
ALTER USER bigsdb createrole;
GRANT postgres TO bigsdb;
GRANT apache TO bigsdb;
Tests can be run from the tests/ directory with the following:
python -m unittest discover
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bigsdb-0.0.4.tar.gz.
File metadata
- Download URL: bigsdb-0.0.4.tar.gz
- Upload date:
- Size: 65.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba85cdda3f11a7041b4ad9cbb6cca94cb6da37adc85ef2f7dff57011c1d1a339
|
|
| MD5 |
8bf4d3eda148e9bd6af4c57233e6eb78
|
|
| BLAKE2b-256 |
15e2a262886f7acaebd4e29927b7cff1fa3f06b5ed90377ffb9a353a419ae2f7
|
File details
Details for the file bigsdb-0.0.4-py3-none-any.whl.
File metadata
- Download URL: bigsdb-0.0.4-py3-none-any.whl
- Upload date:
- Size: 55.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66d3bd00711b3d87b0d16f9c95b5a8423b507c915839d8587a09b18bc06ec40f
|
|
| MD5 |
c6330b40f4bc599144dbfdf6475b82b7
|
|
| BLAKE2b-256 |
2dd73ce8a191bcdf22c95ec526d056f431b943a1a61b41cd20052bea10672d05
|