diff --git a/.gitignore b/.gitignore index 9e690c8..2f44b87 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,73 @@ -*.pyc +# Apple OS X .DS_Store + +# Linux .*.swp + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Flask-Migrate +# migrations/ + +# sqlite +*.db +db.* + +TODO* diff --git a/README.md b/README.md index 8a07578..3ae3a6d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Visão Geral ----------- Biblioteca de interface com o webservice de Nota Fiscal Eletronica, -(NF-e/NFC-e/NFS-e) da SEFAZ, oficializada pelo Ministerio da Fazendo do +(NF-e/NFC-e/NFS-e) da SEFAZ, oficializada pelo Ministerio da Fazendo do Governo do Brasil. Desenvolvido e testado com Python 3 no GNU/Linux. @@ -29,7 +29,7 @@ Dependências - suds-jurko (*apenas para NFS-e) - biblioteca para a comunicação com os webservices via wsdl - pyxb (*apenas para NFS-e) - - biblioteca para geração de bindings a partir de XML Schema(xsd) + - biblioteca para geração de bindings a partir de XML Schema(xsd) Referências ----------- @@ -50,14 +50,21 @@ Referências - Validador de xml - https://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx - + - Validador de assinaturas - - https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/Assinadoc/ValidadorAssinaturas.app/valida.aspx + - https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/Assinadoc/ValidadorAssinaturas.app/valida.aspx Instalação ----------- + +```sh +pip3 install --user https://github.com/leotada/PyNFe/archive/master.zip ``` - sudo pip3 install https://github.com/leotada/PyNFe/archive/master.zip + +Opcional para NFS-e: + +```sh +pip3 install --user -r https://github.com/leotada/PyNFe/raw/master/requirements-nfse.txt ``` Exemplos de uso @@ -77,7 +84,7 @@ xml = con.status_servico('nfe') print (xml.text) ``` -Documentação +Documentação ----------- - https://github.com/leotada/PyNFe/wiki - http://pynfe.readthedocs.org/pt/latest/ diff --git a/docs/index.rst b/docs/index.rst index 679befc..36cff02 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -66,7 +66,11 @@ Referências - Instalação:: - sudo pip3 install https://github.com/leotada/PyNFe/archive/master.zip + pip3 install --user https://github.com/leotada/PyNFe/archive/master.zip + +- Instalação opcional para NFS-e:: + + pip3 install --user -r https://github.com/leotada/PyNFe/raw/master/requirements-nfse.txt Exemplos de uso --------------- @@ -97,4 +101,4 @@ Consulta Notas Emitidas para um CNPJ (apenas NF-e e no RS):: # informar cnpj que deseja consultar (String) e nsu (inteiro) (por default se não informar nsu ele assumirá o valor 0, retornando as dos últimos 15 dias) xml = con.consulta_notas_cnpj(cnpj='cnpj_somente_numeros', nsu=0) - print (xml.text) \ No newline at end of file + print (xml.text) diff --git a/requirements-nfse.txt b/requirements-nfse.txt new file mode 100644 index 0000000..43cd5ab --- /dev/null +++ b/requirements-nfse.txt @@ -0,0 +1,3 @@ +# Opcional para NFS-e +suds-jurko==0.6 +pyxb==1.2.4 diff --git a/requirements.txt b/requirements.txt index 5b1ed0e..3c172d0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ -pyopenssl -requests -lxml -# opcional para NFS-e -#sudo-jurko -#pyxb +# Dependencias basicas +pyopenssl==16.0.0 +requests==2.9.1 +lxml==3.6.0 + +# Opcional para NFS-e +#-r requirements-nfse.txt diff --git a/setup.py b/setup.py index 4df2f26..1a99738 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,8 @@ #!/usr/bin/env python - -import sys, doctest, os, glob from setuptools import setup, find_packages +from pip.req import parse_requirements as parse + +requirements = lambda f: [str(i.req) for i in parse(f, session=False)] setup( name='PyNFe', @@ -10,5 +11,6 @@ setup( package_data={ 'pynfe': ['data/**/*.txt'], }, + install_requires=requirements('requirements.txt'), zip_safe=False, )