Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tpvasconcelos/best-of-data-science
🏆 Best of Data Science, Machine Learning, Statistics, and Software Engineering
https://github.com/tpvasconcelos/best-of-data-science
data-science
Last synced: about 15 hours ago
JSON representation
🏆 Best of Data Science, Machine Learning, Statistics, and Software Engineering
- Host: GitHub
- URL: https://github.com/tpvasconcelos/best-of-data-science
- Owner: tpvasconcelos
- License: cc-by-sa-4.0
- Created: 2021-07-02T19:35:48.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-11-25T18:16:47.000Z (almost 3 years ago)
- Last Synced: 2023-03-02T13:11:19.177Z (over 1 year ago)
- Topics: data-science
- Language: Makefile
- Homepage:
- Size: 2.62 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: history/2021-07-02_changes.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
best-of-data-science
🏆 A ranked list of awesome projects. Updated weekly.This curated list contains 33 awesome open-source projects with a total of 170K stars grouped into 6 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers. If you like to add or update projects, feel free to open an [issue](https://github.com/tpvasconcelos/best-of-data-science/issues/new/choose), submit a [pull request](https://github.com/tpvasconcelos/best-of-data-science/pulls), or directly edit the [projects.yaml](https://github.com/tpvasconcelos/best-of-data-science/edit/main/projects.yaml). Contributions are very welcome!
> 🧙♂️ Discover other [best-of lists](https://best-of.org) or [create your own](https://github.com/best-of-lists/best-of/blob/main/create-best-of-list.md).
## Contents
- [CLI](#cli) _7 projects_
- [Logging, Debugging, and Exception Handling](#logging-debugging-and-exception-handling) _7 projects_
- [Caching and Memoization](#caching-and-memoization) _4 projects_
- [Configuration Management](#configuration-management) _5 projects_
- [Dates, times, and datetimes](#dates-times-and-datetimes) _4 projects_
- [Miscellaneous](#miscellaneous) _6 projects_## Explanation
- 🥇🥈🥉 Combined project-quality score
- ⭐️ Star count from GitHub
- 🐣 New project _(less than 6 months old)_
- 💤 Inactive project _(6 months no activity)_
- 💀 Dead project _(12 months no activity)_
- 📈📉 Project is trending up or down
- ➕ Project was recently added
- ❗️ Warning _(e.g. missing/risky license)_
- 👨💻 Contributors count from GitHub
- 🔀 Fork count from GitHub
- 📋 Issue count from GitHub
- ⏱️ Last update timestamp on package manager
- 📥 Download count from package manager
- 📦 Number of dependent projects
## CLI
click (🥇37 · ⭐ 11K) - Python composable command line interface toolkit.
BSD-3
- [GitHub](https://github.com/pallets/click) (👨💻 310 · 🔀 1.1K · 📦 590K · 📋 1.2K - 5% open · ⏱️ 14.08.2021):
```
git clone https://github.com/pallets/click
```
- [PyPi](https://pypi.org/project/click) (📥 86M / month · 📦 110K · ⏱️ 19.05.2021):
```
pip install click
```pygments (🥈36 · ⭐ 690) - Pygments is a generic syntax highlighter written in Python.
BSD-2
- [GitHub](https://github.com/pygments/pygments) (👨💻 650 · 🔀 720 · 📦 240K · 📋 1.5K - 22% open · ⏱️ 17.08.2021):
```
git clone https://github.com/pygments/pygments
```
- [PyPi](https://pypi.org/project/Pygments) (📥 28M / month · 📦 68K · ⏱️ 15.08.2021):
```
pip install Pygments
```rich (🥈33 · ⭐ 28K) - Rich is a Python library for rich text and beautiful formatting in the terminal.
MIT
- [GitHub](https://github.com/willmcgugan/rich) (👨💻 100 · 🔀 850 · 📦 6.1K · 📋 500 - 1% open · ⏱️ 09.08.2021):
```
git clone https://github.com/willmcgugan/rich
```
- [PyPi](https://pypi.org/project/rich) (📥 2M / month · ⏱️ 05.08.2021):
```
pip install rich
```python-fire (🥉32 · ⭐ 20K · 📈) - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
Apache-2
- [GitHub](https://github.com/google/python-fire) (👨💻 46 · 🔀 1.2K · 📦 8.7K · 📋 250 - 42% open · ⏱️ 17.06.2021):
```
git clone https://github.com/google/python-fire
```
- [PyPi](https://pypi.org/project/fire) (📥 1.4M / month · 📦 1.2K · ⏱️ 22.01.2021):
```
pip install fire
```python-prompt-toolkit (🥉32 · ⭐ 7.2K · 📈) - Library for building powerful interactive command line applications in Python.
BSD-3
- [GitHub](https://github.com/prompt-toolkit/python-prompt-toolkit) (👨💻 190 · 🔀 560 · 📋 920 - 46% open · ⏱️ 19.08.2021):
```
git clone https://github.com/prompt-toolkit/python-prompt-toolkit
```
- [PyPi](https://pypi.org/project/prompt-toolkit) (📥 19M / month · 📦 530 · ⏱️ 17.06.2021):
```
pip install prompt-toolkit
```typer (🥉23 · ⭐ 5.9K · 💤) - Typer, build great CLIs. Easy to code. Based on Python type hints.
MIT
- [GitHub](https://github.com/tiangolo/typer) (👨💻 8 · 🔀 220 · 📋 220 - 58% open · ⏱️ 16.08.2020):
```
git clone https://github.com/tiangolo/typer
```
- [PyPi](https://pypi.org/project/typer) (📥 2.1M / month · ⏱️ 16.08.2020):
```
pip install typer
```Show 1 hidden projects...
- fuzzyfinder (🥉20 · ⭐ 360 · 💀) - Fuzzy Finder implemented in Python.
BSD-3
## Logging, Debugging, and Exception Handling
rich.logging (🥇33 · ⭐ 28K) - Rich is a Python library for rich text and beautiful formatting in the terminal.
MIT
- [GitHub](https://github.com/willmcgugan/rich) (👨💻 100 · 🔀 850 · 📦 6.1K · 📋 500 - 1% open · ⏱️ 09.08.2021):
```
git clone https://github.com/willmcgugan/rich
```
- [PyPi](https://pypi.org/project/rich) (📥 2M / month · ⏱️ 05.08.2021):
```
pip install rich
```python-json-logger (🥈32 · ⭐ 1K · 📈) - Json Formatter for the standard python logger.
BSD-2
- [GitHub](https://github.com/madzak/python-json-logger) (👨💻 46 · 🔀 160 · 📦 17K · 📋 65 - 30% open · ⏱️ 27.07.2021):
```
git clone https://github.com/madzak/python-json-logger
```
- [PyPi](https://pypi.org/project/python-json-logger) (📥 3.6M / month · 📦 920 · ⏱️ 27.07.2021):
```
pip install python-json-logger
```sentry (🥈32 · ⭐ 1K) - The new Python SDK for Sentry.io.
BSD-2
- [GitHub](https://github.com/getsentry/sentry-python) (👨💻 100 · 🔀 220 · 📥 4.5K · 📦 13K · 📋 550 - 30% open · ⏱️ 27.07.2021):
```
git clone https://github.com/getsentry/sentry-python
```
- [PyPi](https://pypi.org/project/sentry-sdk) (📥 9M / month · 📦 990 · ⏱️ 27.07.2021):
```
pip install sentry-sdk
```loguru (🥉31 · ⭐ 9.5K) - Python logging made (stupidly) simple.
MIT
- [GitHub](https://github.com/Delgan/loguru) (👨💻 29 · 🔀 430 · 📦 9.3K · 📋 440 - 12% open · ⏱️ 17.07.2021):
```
git clone https://github.com/Delgan/loguru
```
- [PyPi](https://pypi.org/project/loguru) (📥 1.5M / month · 📦 340 · ⏱️ 20.09.2020):
```
pip install loguru
```structlog (🥉27 · ⭐ 1.6K · 📈) - Structured Logging for Python.
MIT
- [GitHub](https://github.com/hynek/structlog) (👨💻 74 · 🔀 140 · 📦 3.5K · 📋 190 - 17% open · ⏱️ 11.08.2021):
```
git clone https://github.com/hynek/structlog
```
- [PyPi](https://pypi.org/project/structlog) (📥 2.3M / month · 📦 1.2K · ⏱️ 18.02.2021):
```
pip install structlog
```json-logging-python (🥉26 · ⭐ 180 · 📈) - Cloud-native distributed Python logging library to emit JSON log that can be easily indexed by logging infrastructure.
Apache-2
- [GitHub](https://github.com/bobbui/json-logging-python) (👨💻 21 · 🔀 44 · 📦 180 · 📋 54 - 9% open · ⏱️ 24.07.2021):
```
git clone https://github.com/bobbui/json-logging-python
```
- [PyPi](https://pypi.org/project/json-logging) (📥 910K / month · 📦 8 · ⏱️ 09.07.2021):
```
pip install json-logging
```better-exceptions (🥉22 · ⭐ 4K · 💤) - Pretty and useful exceptions in Python, automatically.
MIT
- [GitHub](https://github.com/Qix-/better-exceptions) (👨💻 14 · 🔀 200 · 📋 70 - 41% open · ⏱️ 29.01.2021):
```
git clone https://github.com/Qix-/better-exceptions
```
- [PyPi](https://pypi.org/project/better-exceptions) (📥 27K / month · 📦 74 · ⏱️ 29.01.2021):
```
pip install better-exceptions
```
## Caching and Memoization
joblib.Memory (🥇35 · ⭐ 2.5K · 📈) - `joblib.Memory` defines a context object for caching a functions return value each time it is called with the same..
BSD-3
- [GitHub](https://github.com/joblib/joblib) (👨💻 100 · 🔀 300 · 📦 120K · 📋 660 - 44% open · ⏱️ 11.06.2021):
```
git clone https://github.com/joblib/joblib
```
- [PyPi](https://pypi.org/project/joblib) (📥 27M / month · 📦 6.6K · ⏱️ 09.02.2021):
```
pip install joblib
```boltons.cacheutils (🥈30 · ⭐ 5.5K · 📈) - `boltons.cacheutils` contains consistent implementations of fundamental cache types.
BSD-3
- [GitHub](https://github.com/mahmoud/boltons) (👨💻 72 · 🔀 300 · 📥 21 · 📦 1.6K · 📋 130 - 31% open · ⏱️ 19.05.2021):
```
git clone https://github.com/mahmoud/boltons
```
- [PyPi](https://pypi.org/project/boltons) (📥 990K / month · 📦 490 · ⏱️ 17.05.2021):
```
pip install boltons
```cachetools (🥈30 · ⭐ 1K · 📈) - Extensible memoizing collections and decorators.
MIT
- [GitHub](https://github.com/tkem/cachetools) (👨💻 5 · 🔀 110 · 📋 180 - 5% open · ⏱️ 09.08.2021):
```
git clone https://github.com/tkem/cachetools
```
- [PyPi](https://pypi.org/project/cachetools) (📥 43M / month · 📦 4.4K · ⏱️ 27.04.2021):
```
pip install cachetools
```klepto (🥉21 · ⭐ 200 · 📈) - persistent caching to memory, disk, or database.
BSD-3
- [GitHub](https://github.com/uqfoundation/klepto) (👨💻 2 · 🔀 23 · 📥 400 · 📋 91 - 52% open · ⏱️ 17.06.2021):
```
git clone https://github.com/uqfoundation/klepto
```
- [PyPi](https://pypi.org/project/klepto) (📥 69K / month · 📦 12 · ⏱️ 13.06.2021):
```
pip install klepto
```
## Configuration Management
python-dotenv (🥇34 · ⭐ 4.2K · 📈) - Get and set values in your .env file in local and production servers.
BSD-3
- [GitHub](https://github.com/theskumar/python-dotenv) (👨💻 71 · 🔀 260 · 📦 140K · 📋 180 - 7% open · ⏱️ 25.07.2021):
```
git clone https://github.com/theskumar/python-dotenv
```
- [PyPi](https://pypi.org/project/python-dotenv) (📥 10M / month · 📦 9.4K · ⏱️ 24.07.2021):
```
pip install python-dotenv
```dynaconf (🥈29 · ⭐ 1.9K) - Configuration Management for Python.
MIT
- [GitHub](https://github.com/rochacbruno/dynaconf) (👨💻 69 · 🔀 180 · 📦 1.5K · 📋 300 - 26% open · ⏱️ 12.08.2021):
```
git clone https://github.com/rochacbruno/dynaconf
```
- [PyPi](https://pypi.org/project/dynaconf) (📥 390K / month · 📦 92 · ⏱️ 08.03.2021):
```
pip install dynaconf
```python-decouple (🥈29 · ⭐ 1.8K · 📈) - Strict separation of config from code.
MIT
- [GitHub](https://github.com/henriquebastos/python-decouple) (👨💻 24 · 🔀 140 · 📦 44K · 📋 72 - 22% open · ⏱️ 05.06.2021):
```
git clone https://github.com/henriquebastos/python-decouple
```
- [PyPi](https://pypi.org/project/python-decouple) (📥 450K / month · 📦 6K · ⏱️ 05.01.2021):
```
pip install python-decouple
```environs (🥈29 · ⭐ 710 · 📈) - simplified environment variable parsing.
MIT
- [GitHub](https://github.com/sloria/environs) (👨💻 22 · 🔀 47 · 📦 4.9K · 📋 66 - 7% open · ⏱️ 09.08.2021):
```
git clone https://github.com/sloria/environs
```
- [PyPi](https://pypi.org/project/environs) (📥 450K / month · 📦 180 · ⏱️ 09.08.2021):
```
pip install environs
```hydra (🥉24 · ⭐ 4.7K) - Hydra is a framework for elegantly configuring complex applications.
MIT
- [GitHub](https://github.com/facebookresearch/hydra) (👨💻 77 · 🔀 370 · 📦 3 · 📋 850 - 8% open · ⏱️ 19.08.2021):
```
git clone https://github.com/facebookresearch/hydra
```
- [PyPi](https://pypi.org/project/hydra) (📥 7.1K / month · 📦 6 · ⏱️ 03.08.2016):
```
pip install hydra
```
## Dates, times, and datetimes
_Libraries for handeling all sorts of datetime objects. Note that both `arrow` and `pendulum` are built on top of `dateutil` and `pytz`_
arrow (🥈35 · ⭐ 7.5K) - Better dates & times for Python.
Apache-2
- [GitHub](https://github.com/arrow-py/arrow) (👨💻 240 · 🔀 580 · 📦 21K · 📋 430 - 13% open · ⏱️ 18.08.2021):
```
git clone https://github.com/arrow-py/arrow
```
- [PyPi](https://pypi.org/project/arrow) (📥 4.2M / month · 📦 7.4K · ⏱️ 24.06.2021):
```
pip install arrow
```pytz (🥉31 · ⭐ 180 · 📈) - pytz Python historical timezone library and database.
MIT
- [GitHub](https://github.com/stub42/pytz) (👨💻 16 · 🔀 54 · 📦 820K · 📋 38 - 42% open · ⏱️ 22.03.2021):
```
git clone https://github.com/stub42/pytz
```
- [PyPi](https://pypi.org/project/pytz) (📥 69M / month · 📦 150K · ⏱️ 01.02.2021):
```
pip install pytz
```pendulum (🥉30 · ⭐ 4.5K · 📈) - Python datetimes made easy.
MIT
- [GitHub](https://github.com/sdispater/pendulum) (👨💻 66 · 🔀 250 · 📋 420 - 46% open · ⏱️ 11.02.2021):
```
git clone https://github.com/sdispater/pendulum
```
- [PyPi](https://pypi.org/project/pendulum) (📥 5.6M / month · 📦 1.1K · ⏱️ 24.07.2020):
```
pip install pendulum
```Show 1 hidden projects...
- dateutil (🥇36 · ⭐ 1.6K · 📈) - Useful extensions to the standard Python datetime features.
❗️NRL
## Miscellaneous
wrapt (🥇33 · ⭐ 1.5K · 📈) - A Python module for decorators, wrappers and monkey patching.
BSD-2
- [GitHub](https://github.com/GrahamDumpleton/wrapt) (👨💻 21 · 🔀 190 · 📋 130 - 19% open · ⏱️ 09.08.2021):
```
git clone https://github.com/GrahamDumpleton/wrapt
```
- [PyPi](https://pypi.org/project/wrapt) (📥 34M / month · 📦 21K · ⏱️ 17.08.2021):
```
pip install wrapt
```boltons (🥈30 · ⭐ 5.5K · 📈) - Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python..
BSD-3
- [GitHub](https://github.com/mahmoud/boltons) (👨💻 72 · 🔀 300 · 📥 21 · 📦 1.6K · 📋 130 - 31% open · ⏱️ 19.05.2021):
```
git clone https://github.com/mahmoud/boltons
```
- [PyPi](https://pypi.org/project/boltons) (📥 990K / month · 📦 490 · ⏱️ 17.05.2021):
```
pip install boltons
```dill (🥈30 · ⭐ 1.5K · 📈) - serialize all of python.
BSD-3
- [GitHub](https://github.com/uqfoundation/dill) (👨💻 30 · 🔀 120 · 📥 240K · 📋 350 - 39% open · ⏱️ 13.07.2021):
```
git clone https://github.com/uqfoundation/dill
```
- [PyPi](https://pypi.org/project/dill) (📥 8.9M / month · 📦 5K · ⏱️ 13.06.2021):
```
pip install dill
```parse (🥉29 · ⭐ 1.3K) - Parse strings using a specification based on the Python format() syntax.
MIT
- [GitHub](https://github.com/r1chardj0n3s/parse) (👨💻 30 · 🔀 84 · 📦 8.8K · 📋 81 - 20% open · ⏱️ 04.06.2021):
```
git clone https://github.com/r1chardj0n3s/parse
```
- [PyPi](https://pypi.org/project/parse) (📥 2.2M / month · 📦 2.2K · ⏱️ 14.01.2021):
```
pip install parse
```deepdiff (🥉29 · ⭐ 1.1K · 📈) - Deep Difference and search of any Python object/data.
MIT
- [GitHub](https://github.com/seperman/deepdiff) (👨💻 54 · 🔀 140 · 📦 2.2K · 📋 150 - 18% open · ⏱️ 30.04.2021):
```
git clone https://github.com/seperman/deepdiff
```
- [PyPi](https://pypi.org/project/deepdiff) (📥 2.9M / month · 📦 820 · ⏱️ 29.04.2021):
```
pip install deepdiff
```Show 1 hidden projects...
- cloudpickle (🥉29 · ⭐ 990 · 📈) - Extended pickling support for Python objects.
❗️BSD-1-Clause
---
## Related Resources
- [**Best-of lists**](https://best-of.org): Discover other best-of lists with awesome open-source projects on all kinds of topics.
- [**LibHunt's Awesome Python**](https://python.libhunt.com/) - A curated list of awesome Python frameworks, packages, software and resources.## Contribution
Contributions are encouraged and always welcome! If you like to add or update projects, choose one of the following ways:
- Open an issue by selecting one of the provided categories from the [issue page](https://github.com/tpvasconcelos/best-of-data-science/issues/new/choose) and fill in the requested information.
- Modify the [projects.yaml](https://github.com/tpvasconcelos/best-of-data-science/blob/main/projects.yaml) with your additions or changes, and submit a pull request. This can also be done directly via the [Github UI](https://github.com/tpvasconcelos/best-of-data-science/edit/main/projects.yaml).If you like to contribute to or share suggestions regarding the project metadata collection or markdown generation, please refer to the [best-of-generator](https://github.com/best-of-lists/best-of-generator) repository. If you like to create your own best-of list, we recommend to follow [this guide](https://github.com/best-of-lists/best-of/blob/main/create-best-of-list.md).
For more information on how to add or update projects, please read the [contribution guidelines](https://github.com/tpvasconcelos/best-of-data-science/blob/main/CONTRIBUTING.md). By participating in this project, you agree to abide by its [Code of Conduct](https://github.com/tpvasconcelos/best-of-data-science/blob/main/.github/CODE_OF_CONDUCT.md).
## License
[![CC0](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg)](https://creativecommons.org/licenses/by-sa/4.0/)