https://github.com/axelfahy/bff
Best Fancy Functions, your Best Friend Forever!
https://github.com/axelfahy/bff
fancy python3
Last synced: 6 months ago
JSON representation
Best Fancy Functions, your Best Friend Forever!
- Host: GitHub
- URL: https://github.com/axelfahy/bff
- Owner: axelfahy
- License: mit
- Created: 2019-02-01T12:08:03.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-12T15:14:28.000Z (almost 5 years ago)
- Last Synced: 2025-03-27T08:45:09.836Z (7 months ago)
- Topics: fancy, python3
- Language: Jupyter Notebook
- Homepage: https://bff.readthedocs.io
- Size: 5.85 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[Installation](#installation) |
[Documentation](https://bff.readthedocs.io/en/latest/)# bff
> Best Fancy Functions, your Best Friend ForeverThis package contains some utility functions from plots to data manipulations and could become your new bff.
## Installation
```sh
pip install bff
```## Documentation
Available [here](https://bff.readthedocs.io/en/latest/).
## Development setup
```sh
git clone https://github.com/axelfahy/bff.git
cd bff
python -m venv venv-dev
source venv-dev/bin/activate
pip install -r requirements_dev.txt
pip install -e .
```## Tests
```sh
make all
```To test plots, images with baseline should be placed in `tests/baseline` and can be generated using `make build-baseline`.
As of *v0.2*, plots are not yet tested in the travis build.
## Release History
* 0.2.8
* ADD: Function ``plot_roc_curve`` to plot a roc curve.
* ADD: Function ``plot_kmeans`` to plot K-Means results.
* ADD: Function ``get_n_colors`` to get N colors from a color map.
* ADD: Function ``dates_split`` to split a period of time into multiple sub-period of time.
* ADD: Option ``threshold`` in ``plot_pie`` to write only the labels having more than the threshold.
* ADD: Option ``twinx`` to plot the metric on the same axis as the loss in the ``plot_history`` function.
* CHANGE: Function ``plot_history`` is now superposed and works without validation.
* CHANGE: Rename function ``plot_tsne`` to ``plot_cluster``.
* FIX: Correction of format for annotation and color bar in ``plot_confusion_matrix``.
* 0.2.7
* ADD: Function ``plot_pie`` to plot counter as a pie chart.
* ADD: Function ``plot_confusion_matrix`` to calculate and plot a confusion matrix.
* ADD: Function ``plot_tsne`` to plot t-SNE results.
* 0.2.6
* CHANGE: Use of ``Optional`` keyword from ``typing`` for optional arguments.
* ADD: Function ``plot_pca_explained_variance_ratio`` to plot the explained variance of PCA.
* ADD: Function ``pipe_multiprocessing_pd`` to apply a function on a DataFrame using multiple processes.
* ADD: Function ``_check_sklearn_support`` to check if ``scikit-learn`` is installed instead of having it in the dependencies of the project.
* 0.2.5
* ADD: Function ``log_df`` to print function results during method chaining.
* ADD: Function ``avg_dicts`` to make the average of multiple similar dictionaries.
* ADD: Function ``size_2_square`` to calculate the square needed for the given size (e.g. in subplots).
* ADD: Option ``with_identity`` to plot an identity line in the ``plot_true_vs_pred`` function.
* ADD: Option ``with_determination`` to plot the coefficient of determination in the ``plot_true_vs_pred`` function.
* CHANGE: Default value of option ``details`` in ``mem_usage_pd`` function is now ``True``.
* 0.2.4
* ADD: Function ``set_thousands_separator`` to add a thousand separator and set the number of decimals on x and/or y ticks.
* ADD: Option to define x-axis in ``plot_predictions`` function.
* FIX: Cast columns to string in ``normalization_pd`` function.
* FIX: Add possibility to define custom label in ``plot_series`` function using the kwargs instead of an argument.
* 0.2.3
* ADD: Function ``normalization_pd`` to normalize a DataFrame.
* ADD: Function ``plot_correlation`` to plot the correlation of variables in a DataFrame.
* 0.2.2
* FIX: Function ``value_2_list`` renamed to ``kwargs_2_list``.
* ADD: Function ``value_2_list`` to cast a single value.
* 0.2.1
* ADD: Function ``plot_counter`` to plot counter as bar plot.
* 0.2.0
* ADD: Separation of plots in submodule ``plot``. This breaks the previous API.
* ADD: Tests for the plot module using ``pytest-mlp``.
* ADD: Images from plot in the documentation and notebook with examples.
* FIX: Correction of resampling in the ``plot_series`` function.
* 0.1.9
* ADD: Option ``loc`` in ``plot_series`` function.
* ADD: Function ``cast_to_category_pd`` to cast columns to category ``dtype`` automatically.
* 0.1.8
* ADD: Option ``with_missing_datetimes`` in ``plot_series`` function.
* ADD: Mypy for type verification.
* FIX: Tests when raising exceptions in ``sliding_window`` function.
* 0.1.7
* ADD: ``FancyConfig`` to handle configuration files.
* 0.1.6
* FIX: Correction of dependencies for doc.
* 0.1.5
* ADD: Documentation of project on Read the Docs.
* 0.1.4
* ADD: Function ``mem_usage_pd`` to calculate the memory usage of a pandas object.
* ADD: Function ``idict`` to invert the key / values of a dictionary.
* ADD: Add Makefile for testing code and style.
* ADD: Add python-versioneer to handle version of package.
* 0.1.3
* ADD: Travis, flake8, coveralls and PyUp configurations.
* ADD: Function ``get_peaks`` to get the peaks of a time series.
* ADD: Function ``plot_series`` to plot a time series.
* CHANGE: Restructuration of repo.
* 0.1.2
* ADD: Function ``plot_predictions`` function to plot the actual values and the predictions of a model.
* CHANGE: Add axes in plot functions.
* 0.1.1
* ADD: Readme with instructions.
* CHANGE: Improvement of `plot_history` function.
* FIX: Fix the imports in the test.
* 0.1.0
* Initial release.## Meta
Axel Fahy – axel@fahy.net
Distributed under the MIT license. See ``LICENSE`` for more information.
[https://github.com/axelfahy](https://github.com/axelfahy)
## Contributing
1. Fork it ()
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request## Version number
The version of the package is link to the tag pushed.
To set a new version:
```sh
git tag v0.1.4
git push --tags
```