Skip to content

Latest commit

 

History

History
95 lines (64 loc) · 7.89 KB

README.md

File metadata and controls

95 lines (64 loc) · 7.89 KB

OVERVIEW

This file is an attempt to give you an overview of what you can find in my github account.

In addition, I try to contribute with code or features/issues to great open source projects out there, such as nox, decorator, scikit-learn, pandas, pandera, pytest, pytest-xdist, pytest-profiling, attrs, requests-oauthlib, enforce, typing-inspect, stdlib-list, funcsigs, liblinear and libsvm, pycharm...

Python

Note: see this page to get a few metrics.

HMI / Web

  • mkdocs-gallery is a port of sphinx-gallery for mkdocs
  • genbadge is a commandline tool to generate badges for tests, coverage and qualimetry
  • PyQt5-minimal is a minimal version of the PyQt5 GPL package, so that you do not end up with a 80Mo-large distribution when freezing your application with cx_Freeze, py2exe or others.

Data Science

  • m5py, scikit-learn-compliant M5’ model trees for python
  • qdscreen, a library to detect quasi-determinism (a.k.a. functional dependencies) in datasets, for general purpose feature selection or to learn Bayesian Network Structures.

Developer's Basics

  • getversion is a library to get the version of any python package or module, reliably.
  • makefun is a library to dynamically generate functions.
  • decopatch makes it easy to write decorators.

Object-Oriented

  • pyfields helps you define fields in python classes, easily. It is similar to attrs or PEP557 data classes but provides a bit more flexibility.
  • marshmallow-pyfields brings pyfields to the famous marshmallow ORM.
  • autoclass provides tools to write classes more easily.
  • (work in progress) mixture provides a few interesting mixins for you to reuse. (internal contents not yet published)

Application tools (very old...)

  • mini-lambda is a library to write simple lambda functions without lambda x: prefix and with string conversion capability.
  • valid8 is a validation library with various entrypoints including function and class decorators
  • vtypes allows you to create "validating types" able to validate both type and value with isinstance, in a simple and composable way.
  • (work in progress) kopylog a tool to store execution information easily alongside your main process/algorithm. (internal contents not yet published)

Persistence (very old...)

  • yamlable is a thin wrapper of PyYaml to easily add the yaml capability to your classes
  • parsyfiles is a declarative parsing framework based on PEP484 type hints. One of my first python projects, please be tolerant ;)
  • (work in progress) jsoners publication of an internal json serializer able to handle multiple-versions of the libraries used properly. (internal contents not yet published)

Build tools

  • doit-api helps you use doit more easily and reliably thanks to a pythonic API.
  • fprules helps you create make-like file pattern rules easily, to be used for example in build tools such as doit.

Tests

  • pytest-pilot Slice in your pytest test base thanks to powerful markers
  • pytest-cases is a tool to separate test functions from test cases data in pytest.
  • pytest-harvest helps you collect fixtures and artifacts created during your pytest tests execution. Quite handy to create applicative benchmarks.
  • pytest-steps helps you to create step-wise / incremental tests in pytest.
  • pytest-patterns is not a library, but a repository of examples. In particular you will find here an example concerning how to create data science benchmarks.

Multiprocessing, Parallel computing & Networking

  • spawny is a utility to launch python code in a separate process, possibly using another python executable/environment.
  • azmlclient is a client for web services deployed with Microsoft AzureML Studio.
  • odsclient is a client for OpenDataSoft API.

Misc

  • Blync4CI is an http daemon with a little REST interface to use blync lights for CI engines through an OpenWRT router
  • develop-behind-proxy is a tutorial to help you configure your development environment if you are located behind a network proxy
  • envswitch is a python GUI tool to quickly change environment variables, able to save and restore profiles. It can be used for example to switch the environment variables for the network proxy (http_proxy, etc.), as explained in the develop-behind-proxy tutorial.

Rapidminer

This is very old stuff...

  • octminer is an extension for Rapidminer 5 to call octave scripts in a process. Downloaded 10k times from Rapidminer marketplace.
  • matlab-miner is an extension for Rapidminer 5 to call matlab scripts in a process (available on demand)
  • RIP many other (10+) unpublished extensions for rapidminer 5: enrico, meteociel, unit tests, java scripting, proxy tools, devtools, svn...

Java / OSGi

This is very old stuff, hosted at SOA4D but listed here for reference.

  • soa4d-java-osgi-commons common building blocks for java and OSGi projects, such as execution environments, adaptation of jsr support for embedded targets, etc. XML-related blocks sits in a separate project called "xml-java-osgi", below.
  • xml-osgi a stack of packaged xml bundles for embedded OSGi
  • dpws4j is a devices profiles for web services (now web services for devices OASIS WS-DD) implementation in java
  • osgi-dpwsdriver is a wrapper of dpws4j for OSGi, mapping devices to proxy OSGi services.
  • ws-management4j
  • wsman-osgi