In software development, many projects involve repetitive tasks using identical code and logic. Programmers constantly rewrite this code, creating inefficiencies. Examples include email validation or random string generation.
A solution is to package this code into reusable libraries. These libraries are installed and used across projects, eliminating redundant coding. Most are open-source and freely available.
This is standard practice in languages like Python and JavaScript. This tutorial details building and deploying a Python library to PyPI, the official Python package repository.
Project Overview
This tutorial guides you through creating and deploying an open-source Python library that interacts with a REST API.
The Python Library
The library will wrap the Abstract API's Exchange Rates REST API. This API offers three endpoints:
/live
: Retrieves live exchange rates./convert
: Converts amounts between currencies (e.g., 5 USD to GBP)./historical
: Retrieves historical exchange rates for a specified period.This library simplifies API interaction for developers.
Project Requirements
This tutorial assumes Python coding proficiency, including object-oriented programming (OOP) and function usage. Familiarity with Git, GitHub repositories, and project pushes is also necessary.
Tools and Packages
You'll need:
Creating the Project
Create a project directory:
mkdir exchangeLibrary
Install virtualenv (if not already installed):
pip install virtualenv
Navigate to the project directory:
cd exchangeLibrary
Create and activate a virtual environment:
virtualenv env
Activate (Windows): .envScriptsactivate
Activate (Linux/macOS): source env/bin/activate
Install required packages:
pip install requests poetry dotenv
Open the project in a code editor (PyCharm/VS Code).
Setting Up Project Resources
Create the src
directory: Inside, create exchange_python
containing __init__.py
and exchange.py
. Your structure should resemble the image below:
Create test.py
for unit testing.
Obtain your Abstract API key:
a. Sign up on Abstract API.
b. Log in.
c. Navigate to the Exchange Rates API.
d. Obtain your Primary key.
Create a .env
file: Add your API key:
mkdir exchangeLibrary
Your structure should now look like this:
Building the API Wrapper (exchange.py
)
pip install virtualenv
(The live
, historical
, and convert
methods remain as described in the original input.)
Testing the API Wrapper (test.py
)
__init__.py
:
cd exchangeLibrary
test.py
:
virtualenv env
Run the tests: You should see a successful test result.
Deploying the Project
Create a .gitignore
file: Add env
, .env
.
Create a README.md
file.
Create pyproject.toml
:
pip install requests poetry dotenv
Create a GitHub repository.
Initialize Git: git init
Add remote: git remote add origin <your github repo>
Update pyproject.toml
with your GitHub repo URL.
Push to GitHub.
Deploying to PyPI
poetry build
poetry config pypi-token.pypi <your-api-token>
poetry publish
Project Maintenance
After updates, push changes to GitHub, build (poetry build
), and republish (poetry publish
), updating the version in pyproject.toml
as needed.
Installation and Usage
mkdir exchangeLibrary
pip install virtualenv
Conclusion
This tutorial covered building and deploying a Python library to PyPI, including updates and republishing. Your contribution to the open-source community helps improve Python development.
The above is the detailed content of How to build and deploy a Python library. For more information, please follow other related articles on the PHP Chinese website!