Awesome `pypole` is a Python cli/package created with https://github.com/TezRomacH/python-package-template
Project description
pypole
pypole is a Python package for simple fitting of magnetic dipoles to magnetic maps measured with Quantum diamond microscope or SQUID microscope
Very first steps
Poetry
Want to know more about Poetry? Check its documentation.
Details about Poetry
Poetry's commands are very intuitive and easy to learn, like:
poetry add numpy@latestpoetry run pytestpoetry publish --build
etc
Building and releasing your package
Building a new version of the application contains steps:
- Bump the version of your package
poetry version <version>. You can pass the new version explicitly, or a rule such asmajor,minor, orpatch. For more details, refer to the Semantic Versions standard. - Make a commit to
GitHub. - Create a
GitHub release. - And... publish 🙂
poetry publish --build
🎯 What's next
Well, that's up to you 💪🏻. I can only recommend the packages and articles that helped me.
Typeris great for creating CLI applications.Richmakes it easy to add beautiful formatting in the terminal.Pydantic– data validation and settings management using Python type hinting.Logurumakes logging (stupidly) simple.tqdm– fast, extensible progress bar for Python and CLI.IceCreamis a little library for sweet and creamy debugging.orjson– ultra fast JSON parsing library.Returnsmakes you function's output meaningful, typed, and safe!Hydrais a framework for elegantly configuring complex applications.FastAPIis a type-driven asynchronous web framework.
Articles:
- Open Source Guides.
- A handy guide to financial support for open source
- GitHub Actions Documentation.
- Maybe you would like to add gitmoji to commit names. This is really funny. 😄
🚀 Features
Development features
- Supports for
Python 3.9and higher. Poetryas the dependencies manager. See configuration inpyproject.tomlandsetup.cfg.- Automatic codestyle with
black,isortandpyupgrade. - Ready-to-use
pre-commithooks with code-formatting. - Type checks with
mypy; docstring checks withdarglint; security checks withsafetyandbandit - Testing with
pytest. - Ready-to-use
.editorconfig,.dockerignore, and.gitignore. You don't have to worry about those things.
Deployment features
GitHubintegration: issue and pr templates.Github Actionswith predefined build workflow as the default CI/CD.- Everything is already set up for security checks, codestyle checks, code formatting, testing, linting, docker builds, etc with
Makefile. More details in makefile-usage. - Dockerfile for your package.
- Always up-to-date dependencies with
@dependabot. You will only enable it. - Automatic drafts of new releases with
Release Drafter. You may see the list of labels inrelease-drafter.yml. Works perfectly with Semantic Versions specification.
Open source community features
- Ready-to-use Pull Requests templates and several Issue templates.
- Files such as:
LICENSE,CONTRIBUTING.md,CODE_OF_CONDUCT.md, andSECURITY.mdare generated automatically. Stale botthat closes abandoned issues after a period of inactivity. (You will only need to setup free plan). Configuration is here.- Semantic Versions specification with
Release Drafter.
Installation
pip install -U pypole
or install with Poetry
poetry add pypole
🛡 License
This project is licensed under the terms of the MIT license. See LICENSE for more details.
📃 Citation
@misc{pypole,
author = {pypole},
title = {Awesome `pypole` is a Python cli/package created with https://github.com/TezRomacH/python-package-template},
year = {2022},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/pypole/pypole}}
}
Credits 
This project was generated with python-package-template
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypole-0.1.1.tar.gz.
File metadata
- Download URL: pypole-0.1.1.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-53-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
993d703d7aba6ba35d64beeedd26c860f6688cd63372940e27e7b9ebf2f76220
|
|
| MD5 |
bd4df4d7abbe696b22bfe901754a09bc
|
|
| BLAKE2b-256 |
d3bccc21cde48da566538a58bb9c7ac943d60b43eaa142f3c7090e985d3eeda8
|
File details
Details for the file pypole-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pypole-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-53-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42b1c283373a14f483ac1b4dddc6572f8df5fb3f9ee93c17a83624df0e0c956d
|
|
| MD5 |
9fb6fbbb61489ebe2cc2bd4d5515062f
|
|
| BLAKE2b-256 |
467b7e86f6212df7dc3b4790f4e0949d924afc76ed8eee85b9952a8e0db0bc74
|