Home >Backend Development >Python Tutorial >How to build and deploy a Python library
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:
<code class="language-bash">mkdir exchangeLibrary</code>
Install virtualenv (if not already installed):
<code class="language-bash">pip install virtualenv</code>
Navigate to the project directory:
<code class="language-bash">cd exchangeLibrary</code>
Create and activate a virtual environment:
<code class="language-bash">virtualenv env</code>
Activate (Windows): .envScriptsactivate
Activate (Linux/macOS): source env/bin/activate
Install required packages:
<code class="language-bash">pip install requests poetry dotenv</code>
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:
<code class="language-bash">mkdir exchangeLibrary</code>
Your structure should now look like this:
Building the API Wrapper (exchange.py
)
<code class="language-bash">pip install virtualenv</code>
(The live
, historical
, and convert
methods remain as described in the original input.)
Testing the API Wrapper (test.py
)
__init__.py
:
<code class="language-bash">cd exchangeLibrary</code>
test.py
:
<code class="language-bash">virtualenv env</code>
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
:
<code class="language-bash">pip install requests poetry dotenv</code>
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
<code class="language-bash">mkdir exchangeLibrary</code>
<code class="language-bash">pip install virtualenv</code>
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!