Project Structure
Organize your project:
myproject/
myproject/
__init__.py
module1.py
setup.py
README.md
requirements.txt
setup.py
Create setup file:
from setuptools import setup, find_packages
setup(
name="myproject",
version="0.1.0",
packages=find_packages(),
install_requires=["requests>=2.25.0"],
)
Installing in Development
Install in editable mode:
pip install -e .
Building Distribution
Build packages:
pip install build
python -m build
Publishing to PyPI
Upload to PyPI:
pip install twine
twine upload dist/*
pyproject.toml (Modern)
Use modern packaging:
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "myproject"
version = "0.1.0"
dependencies = ["requests>=2.25.0"]
Best Practices
- Use pyproject.toml: Modern standard
- Version properly: Follow semantic versioning
- Include README: Document your package
- Test before publishing: Ensure package works
Next Steps
Learn about testing to ensure package quality.