-
[] seleniumbase
We don't need a lot of libraries. We just need the best ones.
- IPython - A rich toolkit to help you make the most out of using Python interactively.
- poetry - A tool to create isolated Python environments and manage poetry project
- PyCharm - Commercial Python IDE based on the IntelliJ platform by JetBrains. Free community edition available.
- scikit-learn - Simple and efficient tools for data mining and data analysis.
- TensorFlow - Low-level (configurations over conventions) library for building deep learning data flow graphs.
- caffe - Deep learning framework made with expression, speed, and modularity in mind.
- pytesseract - A wrapper for Google Tesseract OCR.
- jieba - Chinese Words Segmentation Utilities.
- requests - Python HTTP requests for humans.
- Scrapy - A fast high-level screen scraping and web crawling framework.
- newspaper - News extraction, article extraction and content curation in Python.
- scipy - An open-source software for mathematics, science, and engineering. statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more.
- nltk - A suite of libraries and programs for symbolic and statistical natural language processing.
- mistune - The fastest markdown parser in pure Python with renderer features, inspired by marked.
- pandas - A software library for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series.
- Django - The most popular full featured web framework in Python.
- djangopackages - Excellent 3rd party django package collections.
| Label | Title in Releases |
|---|---|
enhancement, feature |
π Features |
bug, refactoring, bugfix, fix |
π§ Fixes & Refactoring |
build, ci, testing |
π¦ Build System & CI/CD |
breaking |
π₯ Breaking Changes |
documentation |
π Documentation |
dependencies |
β¬οΈ Dependencies updates |
[Makefile](https://github.com/{{ cookiecutter.github_name }}/{{ cookiecutter.project_name }}/blob/master/Makefile) contains a lot of functions for faster development.
1. Download and remove Poetry
To download and install Poetry run:
make poetry-downloadTo uninstall
make poetry-remove2. Install all dependencies and pre-commit hooks
Install requirements:
make installPre-commit hooks coulb be installed after git init via
make pre-commit-install3. Codestyle
Automatic formatting uses pyupgrade, isort and black.
make codestyle
# or use synonym
make formattingCodestyle checks only, without rewriting files:
make check-codestyleNote:
check-codestyleusesisort,blackanddarglintlibrary
Update all dev libraries to the latest version using one comand
make update-dev-deps4. Code security
make check-safetyThis command launches Poetry integrity checks as well as identifies security issues with Safety and Bandit.
make check-safety5. Type checks
Run mypy static type checker
make mypy6. Tests with coverage badges
Run pytest
make test7. All linters
Of course there is a command to rule run all linters in one:
make lintthe same as:
make test && make check-codestyle && make mypy && make check-safety8. Docker
make docker-buildwhich is equivalent to:
make docker-build VERSION=latestRemove docker image with
make docker-removeMore information [about docker](https://github.com/{{ cookiecutter.github_name }}/{{ cookiecutter.project_name }}/tree/master/docker).
9. Cleanup
Delete pycache files
make pycache-removeRemove package build
make build-removeDelete .DS_STORE files
make dsstore-removeRemove .mypycache
make mypycache-removeOr to remove all above run:
make cleanupTyperis 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.
Todo App is a hobby project that is primarily focused around being a playground for experimenting with different technologies.
This repository uses SOPS with age for managing secrets.
See Configuration and Secrets Management for details.
- Centrifugo
- URL: http://centrifugo.todo-app.com
- password:
S3c_r3t!
- Grafana
- URL: http://grafana.todo-app.com
- username:
admin - password:
S3c_r3t!
- Loki
- Promtail
- MinIO
- URL: http://minio.todo-app.com
- username:
console - password:
S3c_r3t!
- Keycloak
- URL: http://auth.todo-app.com
- username:
admin - password:
S3c_r3t!
- Add the following entries to your
/etc/hostsfile:
127.0.0.1 todo-app.com
127.0.0.1 auth.todo-app.com
127.0.0.1 centrifugo.todo-app.com
127.0.0.1 temporal.todo-app.com
127.0.0.1 grafana.todo-app.com
127.0.0.1 minio.todo-app.com
-
Make sure you have the unencrypted secrets in the
envdirectory. See Configuration and Secrets Management for details. -
Run Docker Compose
> docker compose up --build -d-
Import the Keycloak realm. See Configuring Keycloak for details.
-
Open the App in browser: http://todo-app.com
- Normal user:
- username:
demouser - password:
S3c_r3t!
- username:
- Viewer (read-only) user:
- username:
demoviewer - password:
S3c_r3t!
- username:
- Normal user:
The app uses JSON Schema for message validation. See json-schema-generator for details.
We don't need a lot of libraries. We just need the best ones.
- IPython - A rich toolkit to help you make the most out of using Python interactively.
- poetry - A tool to create isolated Python environments and manage poetry project
- PyCharm - Commercial Python IDE based on the IntelliJ platform by JetBrains. Free community edition available.
- scikit-learn - Simple and efficient tools for data mining and data analysis.
- TensorFlow - Low-level (configurations over conventions) library for building deep learning data flow graphs.
- caffe - Deep learning framework made with expression, speed, and modularity in mind.
- pytesseract - A wrapper for Google Tesseract OCR.
- jieba - Chinese Words Segmentation Utilities.
- requests - Python HTTP requests for humans.
- Scrapy - A fast high-level screen scraping and web crawling framework.
- newspaper - News extraction, article extraction and content curation in Python.
- scipy - An open-source software for mathematics, science, and engineering. statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more.
- nltk - A suite of libraries and programs for symbolic and statistical natural language processing.
- mistune - The fastest markdown parser in pure Python with renderer features, inspired by marked.
- pandas - A software library for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series.
- Django - The most popular full featured web framework in Python.
- djangopackages - Excellent 3rd party django package collections.
