Open Source¶
While most of my coding time is devoted to internal Schneider Electric software, I maintain some open source activity focused on addressing "common" transverse issues. Quality is "best effort given the allocated time".
Footprint¶
Below is the number of packages downloads for my python codes, in million of downloads per year:
I also contribute to other's codes. Below is an attempt to present both activities.
Disclaimer
The distinction below between "significant" and "other" contributions should be understood as "my own perception of the impact of my work", and by no means any sort of judgement about the quality of the projects cited below.
Significant contributions¶
Author¶
m5py
scikit-learn
-compliant M5 prime (M5’) model trees for python, 2022
Publication: PyConDE PyData 2022mkdocs-gallery
bringing all features of the great sphinx-gallery on mkdocs, 2021qdscreen
a python implementation of the quasi-determinism screening algorithm, 2021
Publication: ECML PKDD 2022odsclient
, a non-official python client for opendatasoft API (e.g. datasets retrieval for benchmarks), 2020pyfields
, eases object-oriented python with easy and user-friendly type and value validation, 2019pytest-cases
, to separate test cases from test functions for benchmarks, 2018
Publication: Europython 2021pytest-harvest
, apytest
extension to generate reproducible tests/benchmark result tables easily,2018autoclass
, removes boilerplate code from python classes, 2017azmlclient
, a non-official python client for AzureML API (e.g. analytics web services), 2016octminer
, an interface between Rapidminer and Octave to execute Octave code within Rapidminer processes, 2012.
Publication: RCOMM 2012xml-java-osgi
, a stack of packaged xml bundles with small footprint for embedded OSGi, 2009osgi-dpwsdriver
, a dpws (Devices Profile for Web Services) driver for OSGi compliant with RFP 86, 2007
Publications: OSGi Alliance 2007, RFP 86 , RFC08. Also used in AINA 2008, ICMDM 2011...
Contributor¶
pandas
, significantly improved performance ofPeriod
's default formatter, 2023pandas
, added tests forPeriod
str and repr, 2023pandas
, fixed non-utf8 locale-relatedPeriod
formatting issue, 2022pandas
, fixed locale-related issue in the testing tools, 2022pandas
, improved performance for date/time formatting and SQL time inserts, 2022pandas
, fixedPeriod
andPeriodIndex
formatting, 2022scikit-learn
, improved R² and explained variance scores through a newforce_finite
parameter, 2022pandas
, improved documentation forto_datetime
– in particular about timezone handling, 2022scikit-learn
, added a new randomized SVD solver toKernelPCA
, 2021scikit-learn
, fixedKernelPCA
's numerical consistency between 32-64bits, 2020scikit-learn
, fixed pseudo-random number generator forlibsvm
andliblinear
, 2020scikit-learn
, added checks for eigenvalue decomposition numerical/conditioning issues inKernelPCA
, 2019scikit-learn
, fixed transform issue inKernelPCA
when zero eigenvalues are present and not removed, 2019MATLAB
, fixed 3 bugs inR2009
time series toolbox (Rounding and conversion errors in several functions), 2010wsman-osgi
, a Java OSGI implementation of the DMTF WS-Management specification, 2008dpws4j
, a dpws (Devices Profile for Web Services) driver for java, various contributions, 2007
Coach¶
scikit-learn
faster eigendecomposition for Isomap & KernelPCA, 2025 (under finalization)scikit-learn
replacement of the Yeo-Johnson power transformer implementation by scipy’s >= 1.9, 2025scikit-learn
, statistical uniformity tests of the new libsvm/liblinear pseudo-random number generator, 2020
Other contributions¶
Author¶
genbadge
, a code quality badge generator to motivate coders through gamification, 2021marshmallow-pyfields
, to generate marshmallow schemas from classes using pyfields, 2020doit-api
, a pythonic API for doit, 2020vtypes
, validating types for python: isinstance() validates both type and value, 2020pytest-pilot
, a pytest extension to slice in a test base more easily (e.g. for large benchmarks), 2019fprules
, make-like file pattern rules for build tools such as doit, 2019decopatch
, (labelled “critical” project by PyPi in 2023) python decorators made easy, 2019makefun
, (labelled “critical” project by PyPi in 2022) a toolbox for dynamic functions creation with a given signature, 2019getversion
, get the version number of any python module or package, reliably, 2019pytest-steps
, a pytest extension to create step-wise / incremental tests in pytest, 2018yamlable
, a thin wrapper of PyYaml to convert python objects to YAML and back., 2018spawny
, a library to help spawning python processes from other places e.g. from MATLAB, 2017mini-lambda
, a library to create symbolic single variable expressions (simple lambdas) in python, 2017valid8
, a validation toolbox for python, 2017envswitch
, a very simple GUI to easily switch between environments, in particular HTTP proxies, 2017[
] (https://github.com/smarie/env-switcher-gui/releases)
pyqt5-minimal
, a minimal version of the PyQt5 GPL package for lightweight distributions, 2017parsyfiles
, a declarative parsing framework in python based on type declarations, 2017commonsjavaosgi
, utils for java and OSGi, e.g. exec environments, jsr support for embedded, etc., 2009
Contributor¶
pandera
performance improvement for the check_nullable checker with pandas backend, 2024mkdocs-bibtex
added logging, 2024mkdocs-bibtex
fixed utf-8 encoding errors with pandoc, 2024mkdocs
configuration objects validation improvement, 2022pytest-xdist
added non-regression tests for warning serialization across distributed workers, 2022requests-oauthlib
fixed an issue where the ssl certificate verification flag was ignored, 2022requests-oauthlib
fixed an issue where the client scope was not used, 2022setuptools_scm
support for custom and non-normalizing version processors, 2021request
documentation on usage with HTTP(s) proxies, 2020nox
ability to work with no venv_backend, and to better configure default/forced backend (even none), 2020nox
ability to execute an existing conda session when user is offline, 2020pyLODE
fixed package imports/initialization, 2020nox
fixed package installation using conda when version constraints are used, 2020nox
fixed default python paths using conda, 2020oauth-lib
fix authorization token scope inconsistency, 2020oauth-lib
fix for default values passing 2, 2020oauth-lib
fix for default values passing, 2020PyCharm
fixed autocomplete: added support for descriptors and metaclass members, 2020pytest
improved time counters used to compute tests duration, to have more precise durations, 2020pytest-xdist
new API to detect worker status in distributed testing., 2020typing-inspect
retro-compatibility with python 3.5.0 and 3.5.1, 2020typing-inspect
retro-compatibility with python 3.5.2 and 3.5.3, 2020attrs
fix for a bug happening in an edge case, 2020funcsigs
retrocompatibility: added support forfollow_wrapped
(aligned with latest python versions), 2020pytest-profile
fixed SVG profiling report on windows, 2019stdlib-list
new API to check if a module is part of stdlib, 2019typing-inspect
new API to check if a type is optional, and type variable helpers, 2018enforce
various type-based validation improvements, 2018decorator
added support for generators, 2018blync4CI
added support for multiple lights, and various improvements, 2016windows-azure-storage-plugin
various usability improvements, 2015ws-management4j
a Java implementation of DMTF's WS-Management standard for dpws4j, 2008ws-sec4j
implementation of the WS-Security standard for dpws4j, 2007