Skip to main content

Python library to access LIneA's database from Python code. Useful to retrieve data inside LIneA's JupyterHub platform.

Project description

LIneA Database Library


Python package Documentation Status Coverage Status

Python library to access LIneA's database from Python code. Useful to retrieve data inside LIneA's JupyterHub platform.

Authors

Installation

Install dblinea with pip

  pip install dblinea

Requirements

  • sqlalchemy>=1.4.25
  • psycopg2>=2.9.1
  • numpy>=1.19.4
  • pandas>=1.2.0
  • astropy>=5.0.0
pip install sqlalchemy psycopg2 numpy pandas astropy

Future plans

Sub-package to allow users to send user-generated data products to LIneA Science Server (e.g., a list of targets for visual inspection).

Development

Python 3.8: https://tecadmin.net/install-python-3-8-ubuntu/

  • Dependencias:
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev liblzma-dev
python3.8 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install wheel setuptools twine pytest pytest-runner pytest-cov black

Executar os testes:

python setup.py pytest --cov --cov-report term-missing --cov-report html

Fazer o Build: https://medium.com/analytics-vidhya/how-to-create-a-python-library-7d5aea80cc3f

python setup.py sdist bdist_wheel

Testando o pacote apos o build

python3.8 -m venv venv
source venv/bin/activate
pip install sqlalchemy psycopg2 numpy pandas astropy

Para instalar usando o pacote local

pip install --force-reinstall <path>/dist/wheelfile.whl

Abrir um terminal e importar a classe DBBase. ou utilizar o comando.

python -c 'from dblinea import DBBase'

Outro Teste

(env) glauber: ~ $ python
Python 3.8.12 (default, Jan 28 2022, 15:50:21)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from dblinea import DBBase
>>> a = DBBase()
>>> a.get_engine()
Engine(postgresql+psycopg2://untrustedprod:***@desdb4.linea.gov.br:5432/prod_gavo)
>>>

Publish in PyPi Test

Check if build is ok for publish

python -m twine check dist/*
python -m twine upload --verbose --repository testpypi dist/*

Check in https://test.pypi.org/manage/project/dblinea/releases/

Publish in PyPi Oficial

https://realpython.com/pypi-publish-python-package/

twine upload dist/*

Executar o Lint em busca de errors de sintaxe ou formatação.

black . --check

Executar o Lint para corrigir automaticamente os errors encontrados.

black .

Documentation with sphinx

Generate Api Docs

cd docs
sphinx-apidoc -f -o ./source ../dblinea

Build html docs

make html

TODO: Trocar Coveralls por codecov https://about.codecov.io/

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

dblinea-1.0.0.tar.gz (14.5 kB view hashes)

Uploaded Source

Built Distribution

dblinea-1.0.0-py3-none-any.whl (11.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page