Skip to content

linea-it/dblinea

Repository files navigation

LIneA Database Library - DEPRECATED

Please access the LIneA's TAP Service documentation to obtain up-to-date information on how to access LIneA's database.

This library has been discontinued and is no longer supported. Please migrate to the recommended alternative.


Historical README:

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.

Documentation: Read the Docs page

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/

About

Python library to access LIneA's database from Python code.

Resources

License

Stars

0 stars

Watchers

4 watching

Forks

Packages

 
 
 

Contributors