https://github.com/nguyenanht/john-toolbox
This is my own toolbox to explore data science
https://github.com/nguyenanht/john-toolbox
data-science machine-learning pipeline python pytorch scikit-learn
Last synced: about 1 year ago
JSON representation
This is my own toolbox to explore data science
- Host: GitHub
- URL: https://github.com/nguyenanht/john-toolbox
- Owner: nguyenanht
- Created: 2021-03-19T18:45:52.000Z (about 5 years ago)
- Default Branch: develop
- Last Pushed: 2024-07-08T06:28:16.000Z (almost 2 years ago)
- Last Synced: 2025-03-24T10:38:52.674Z (about 1 year ago)
- Topics: data-science, machine-learning, pipeline, python, pytorch, scikit-learn
- Language: Python
- Homepage: https://nguyenanht.github.io/john-toolbox
- Size: 62.4 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
Welcome to john_toolbox 👋

[](https://nguyenanht.github.io/john-toolbox/)


[](https://pepy.tech/project/john-toolbox)
[](https://pepy.tech/project/john-toolbox)
[](https://github.com/scikit-learn/scikit-learn)
[](https://github.com/pandas-dev/pandas)
[](https://github.com/numpy/numpy)
[](https://github.com/python-poetry/poetry)
[](https://github.com/pytorch/pytorch)
> This is my own toolbox to handle preprocessing production ready based on scikit-learn Pipeline but with more flexibility.
### 🏠 [Homepage](https://github.com/nguyenanht/john-toolbox)
# 💿 Installation with pip
```sh
pip install john-toolbox
```
# 💡 How to use the package ?
If you want examples, please refer to [notebooks directory](https://github.com/nguyenanht/john-toolbox/tree/develop/notebooks). It contains tutorials on how to use the package and other useful tutorials to handle end to end machine learning project.
# 🚧 Local development
## 💣 Installation guide
❗ by default, we install docker container with cpu only, if you want to install gpu mode :
```sh
make env
```
Comment in `.env` file at the root, the following lines :
```dotenv
DEVICE=cpu
DOCKER_RUNTIME=runc
```
Uncomment in `.env` file at the root, the following lines :
```dotenv
# DEVICE=gpu
# DOCKER_RUNTIME=nvidia
```
then :
```sh
make install
```
if you want to use with local domain name, you need to generate certificate ssl in local development instead of url with port like `http://localhost:8885` :
```sh
make stop ssl
```
## ✨ Usage
### Start project :
```sh
make start
```
### Stop project :
```sh
make stop
```
### Display logs of specific service
```sh
make logs svc="your_service_name_declared_in_docker_compose"
```
### Go inside a docker container
```sh
./cli your_service_name_declared_in_docker_compose
```
### 🦸 Need help
```sh
make help
```
### Url
- Develop with Jupyter Notebook : https://nb.johntoolbox.localhost
- Treafik (reverse proxy) : https://proxy.johntoolbox.localhost
## Author
👤 **Johnathan Nguyen**
* GitHub: [@nguyenanht](https://github.com/{github_username})
# Show your support
Give a ⭐️ if this project helped you!
# 🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/nguyenanht/john-toolbox/issues).
## How to contribute
### Semantic Commit Messages
Every programmer in this project must respect a convention for every commit.
The CI will not let you merge your branch into Develop.
See how a minor change to your commit message style can make you a better programmer.
Format: `(): `
`` is optional
#### Example
```
feat: add hat wobble
^--^ ^------------^
| |
| +-> Summary in present tense.
|
+-------> Type: chore, docs, feat, fix, refactor, style, or test.
```
More Examples:
- `feat`: (new feature for the user, not a new feature for build script)
- `fix`: (bug fix for the user, not a fix to a build script)
- `docs`: (changes to the documentation)
- `style`: (formatting, missing semicolons, etc.; no production code change)
- `refactor`: (refactoring production code, e.g. renaming a variable)
- `test`: (adding missing tests, refactoring tests; no production code change)
- `chore`: (updating grunt tasks etc.; no production code change)
References:
- https://www.conventionalcommits.org/
- https://seesparkbox.com/foundry/semantic_commit_messages
- http://karma-runner.github.io/1.0/dev/git-commit-msg.html
# Useful link
- how to publish new version in pypi with poetry ? : https://johnfraney.ca/posts/2019/05/28/create-publish-python-package-poetry/
- how to create a new release ? : https://www.atlassian.com/fr/git/tutorials/comparing-workflows/gitflow-workflow
- how to generate docs : https://github.com/JamesALeedham/Sphinx-Autosummary-Recursion
- how to deploy with github actions : https://blog.flozz.fr/2020/09/21/deployer-automatiquement-sur-github-pages-avec-github-actions/
---
_This README was created with the [markdown-readme-generator](https://github.com/pedroermarinho/markdown-readme-generator)_