REST service to retrive metadata from databases.
Project description
aind-metadata-service
REST service to retrieve metadata from databases.
Installation
Server Installation
Can be pip installed using pip install aind-metadata-service[server]
.
Installing pyodbc
.
-
You may need to install
unixodbc-dev
. You can follow this https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16 for instructions depending on your os. -
You may need to run
docker system prune
before building the docker image if you're getting erros running apt-get:
#10 23.69 Err:1 http://deb.debian.org/debian bullseye/main amd64 libodbc1 amd64 2.3.6-0.1+b1
#10 23.69 Could not connect to debian.map.fastlydns.net:80 (146.75.42.132). - connect (111: Connection refused) Unable to connect to deb.debian.org:http:
Client Installation
Can be pip installed with pip install aind-metadata-service[client]
For Development
In the root directory, run
pip install -e .[dev]
Contributing
Linters and testing
There are several libraries used to run linters, check documentation, and run tests.
- Please test your changes using the coverage library, which will run the tests and log a coverage report:
coverage run -m unittest discover && coverage report
- Use interrogate to check that modules, methods, etc. have been documented thoroughly:
interrogate .
- Use flake8 to check that code is up to standards (no unused imports, etc.):
flake8 .
- Use black to automatically format the code into PEP standards:
black .
- Use isort to automatically sort import statements:
isort .
Pull requests
For internal members, please create a branch. For external members, please fork the repo and open a pull request from the fork. We'll primarily use Angular style for commit messages. Roughly, they should follow the pattern:
<type>(<scope>): <short summary>
where scope (optional) describes the packages affected by the code changes and type (mandatory) is one of:
- build: Changes that affect the build system or external dependencies (example scopes: pyproject.toml, setup.py)
- ci: Changes to our CI configuration files and scripts (examples: .github/workflows/ci.yml)
- docs: Documentation only changes
- feat: A new feature
- fix: A bug fix
- perf: A code change that improves performance
- refactor: A code change that neither fixes a bug nor adds a feature
- test: Adding missing tests or correcting existing tests
Documentation
To generate the rst files source files for documentation, run
sphinx-apidoc -o doc_template/source/ src
Then to create the documentation html files, run
sphinx-build -b html doc_template/source/ doc_template/build/html
More info on sphinx installation can be found here: https://www.sphinx-doc.org/en/master/usage/installation.html
Responses
There are 6 possible status code responses for aind-metadata-service:
- 200: successfully retrieved valid data without any problems.
- 406: successfully retrieved some data, but failed to validate against pydantic models.
- 404: found no data that matches query.
- 300: queried the server, but more items were returned than expected.
- 503: failed to connect to labtracks/sharepoint servers.
- 500: successfully connected to labtracks/sharepoint, but some other server error occurred. These status codes are defined in StatusCodes enum in response_handler.py
Project details
Release history Release notifications | RSS feed
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
Hashes for aind_metadata_service-0.4.13.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61563a544c327fbf8c9b86b3acb0f3738005335b272bfdf533acc590a73479cd |
|
MD5 | d8f2fed6ceeebb9e122d589a70da1eeb |
|
BLAKE2b-256 | 9196d0914c61d577b244317f25310f705bc3c550a3a37579a541e839afaf8e18 |
Hashes for aind_metadata_service-0.4.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c8366e4d008e0f64923553b8d48e56ff9be293d5ba125ab6e40b82143aaf9df |
|
MD5 | 5d8a8b5671f98003a6e8e50f2efa1228 |
|
BLAKE2b-256 | 54b15b4875a3a32459e6f2ebfec219f84355dd7484326f8ee57f2f0fe6ca2132 |