How to build a Python Package
Project description
Python Package Boilerplate (with PyPi CI/CD)
👉 About 👈
Minimum Viable Product:
😎 Built With 😎
📖 Getting Started 📖
✋ Prerequisites ✋
Change the project-specific attributes. See TODO for more information.
💪 Installation 💪
python3 -m pip install --user *PACKAGE*
🚀 Usage 🚀
🤓 Static Analysis 🤓
$ make types
$ make lint
$ make sast
# .gitlab.ci.yml
types:
stage: Static Analysis
script: [make types]
allow_failure: true
linting:
stage: Static Analysis
script: [make lint]
allow_failure: true
secure-code:
stage: Static Analysis
script: [make sast]
allow_failure: false
🧐 Unit Testing 🧐
$ make unittests
# .gitlab.ci.yml
unittests:
stage: Unit Testing
script: [make unittests]
allow_failure: false
🤩 Building 🤩
$ make build
# .gitlab.ci.yml
build:
stage: Building
script: [make build]
artifacts:
paths: [dist]
only:
- develop
- main
🥳 Deployment 🥳
$ make deploy
# .gitlab.ci.yml
gitlab:
stage: Deployment
script: [make deploy]
artifacts:
paths: [dist]
only:
- develop
- main
pypi:
stage: Deployment
script: [make release]
artifacts:
paths: [dist]
only:
- main
For more examples, please refer to the Documentation
⭐️ Features ⭐️
- Using pyTest as a paradigm for test-driven development
- Using Bandit as static application security testing code analyzer
- Automatic build and deploy on GitLab and PyPi Packages Regestries
📑 Changelog 📑
See CHANGELOG for more information.
📋 Roadmap 📋
- Implement Toml Config Parser as a Settings Mechanism
See the open issues for a list of proposed features (and known issues).
🤝 Contribute 🤝
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Please read the contribution guidelines first.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
📜 License 📜
Distributed under the MIT License. See LICENSE for more information.
💌 Contact 💌
Bootcamp contributors - contributors
@ bootcamp-project
.com
🏆 Acknowledgements 🏆
Thanks for these awesome resources that were used during the development of the Bootcamp Project: Python Package Boilerplate (with PyPi CI/CD):
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python-boilerplate-tbcp-0.1.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | da6c7980e64d763172c3b2733e2ae1d742df0e7140034a60b75973f77da42315 |
|
MD5 | 76d52db988822686adeef14d81abea75 |
|
BLAKE2b-256 | e32fd72f7dd00d712c94511d62dec46849245da5b604ed2eaf96a44974d2ad9b |
Hashes for python_boilerplate_tbcp-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db4e72a73c2749ce6e748dcdf0b5d3a160530f7fb090ebd64753555fa9634418 |
|
MD5 | 5d4a0642fbcd10ef612ad69e335e2133 |
|
BLAKE2b-256 | ca196e93bdda70e8798637c76dca1e9922caf36c4f9e644f0dab9655b1ce36e3 |