https://github.com/wilmerm/alanube-python
Python library to establish connections with the Alanube API.
https://github.com/wilmerm/alanube-python
alanube dgii dominican-republic facturacion-electronica invoice library python script
Last synced: 5 months ago
JSON representation
Python library to establish connections with the Alanube API.
- Host: GitHub
- URL: https://github.com/wilmerm/alanube-python
- Owner: wilmerm
- Created: 2023-08-17T09:21:29.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-09T13:15:24.000Z (9 months ago)
- Last Synced: 2024-12-30T12:45:30.810Z (6 months ago)
- Topics: alanube, dgii, dominican-republic, facturacion-electronica, invoice, library, python, script
- Language: Python
- Homepage: https://pypi.org/project/alanube/
- Size: 96.7 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Alanube Python API
Python library to connect with Alanube API
## Instalation
To install the Alanube library, you can use pip:
```sh
pip install alanube
```## Usage
```py
# Import the Alanube class specific to the country,
# in this case from `alanube.do` for the Dominican Republic
from alanube.do import Alanube# Connect to the API
Alanube.connect("[TOKEN]")payload = {...}
data = Alanube.send_document(encf_type=31, payload)
```Now you can easily and efficiently use the Alanube API with this Python library!
## Contents
- `do`: Implementation for the Dominican Republic (DGII). This is the only fully developed directory and contains all the necessary structure and logic to work with the Alanube API for this country.
- `pa`: Implementation for Panama (future). If you need to develop for Panama, create a directory named `pa` at the same level as `do` within `alanube` and replicate the internal structure of `do`.
- `cr`: Implementation for Costa Rica (future). Similarly, create a `cr` directory following the same structure as `do`.
- `bo`: Implementation for Bolivia (future). The `bo` directory should also follow the structure of `do`.For the missing countries, you can use the `do` directory as a reference to build the required implementations, adapting the logic to meet the specific local requirements of each country.
### Links
* [Alanube Official Website](https://www.alanube.co/)
* [Alanube Documentation](https://developer.alanube.co/)## Developers
If you're contributing to the development of this library, here are the steps to set up your environment and run the tests:
### Setting Up the Environment
1. Clone the repository:
```sh
git clone https://github.com/wilmerm/alanube-python-api.git
cd alanube-python-api
```2. Create a virtual environment (optional but recommended):
```sh
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```3. Install the required dependencies:
```sh
pip install -r requirements.txt
pip install -r requirements-dev.txt
```4. Install the library in editable mode:
```sh
pip install -e .
```5. **Code Style**. We follow PEP 8 for coding standards. Please ensure your code is formatted accordingly before submitting a pull request.
```sh
flake8 alanube
```### Running the Tests
1. Navigate to the project root directory.
2. Execute the tests with unittest:
```sh
python -m unittest discover -s alanube/tests -p "*.py"
```* -s: Specifies the directory to look for tests (tests folder).
* -p: Defines the pattern for test file names (e.g., *.py).### Building and Publishing the Library
To compile and upload the library to PyPI, follow these steps:
1. Ensure you have the necessary dependencies:
```sh
pip install build twine
```2. Build the package:
```sh
python -m build
```3. (Optional) Verify the package:
```sh
twine check dist/*
```4. Upload the package to PyPI:
```sh
python -m twine upload dist/*
```## Licence
This project is licensed under the MIT License.
## Proyect Status
This project is under development
## Contribution 💗
If you find value in this project and would like to show your support, please consider making a donation via PayPal:
[Donate on PayPal](https://paypal.me/martinezwilmer?country.x=DO&locale.x=es_XC)
Your generosity helps us to continue improving and maintaining this project. We appreciate every contribution, however small. Thanks for being part of our community!