Development¶
Pythonic Functional Programming Libraries¶
The pythonic-fp PyPI project itself is a support component of the Pythonic FP libraries.
Claims the pythonic-fp name on PyPI for the overall effort
PyPI project for the pythonic-fp homepage on GitHub pages
Homepage provides links to the
PyPI projects making up the Pythonic FP effort
GitHub Repos for each project
Provides locations for overarching CHANGELOG and README files.
Each Pythonic FP project has its on CHANGELOG and README files.
Tip
There is no reason to install pythonic-fp itself, but does not hurt anything if just the base package is installed.
Module Dependencies¶
All non-typing related dependencies. Arrows point from modules to their dependencies.
Internal to Pythonic FP¶
Dependencies between the Pythonic FP projects.
![digraph Modules {
bgcolor="#957fb8";
node [style=filled, fillcolor="#181616", fontcolor="#dcd7ba"];
edge [color="#181616", fontcolor="#dcd7ba"];
containers -> fptools;
containers -> iterables;
containers -> circulararray;
splitends -> fptools;
splitends -> iterables;
splitends -> queues;
queues -> fptools;
queues -> circulararray;
circulararray -> gadgets;
fptools -> circulararray;
fptools -> gadgets;
fptools -> booleans;
booleans -> gadgets;
iterables -> gadgets;
iterables -> fptools;
}](_images/graphviz-e69e3d373005a42b9b2cfa4fd5b02a76c2c72720.png)
External to Pythonic FP¶
All Python external dependencies, except for typing related standard library dependencies.
![digraph Modules {
bgcolor="#957fb8";
node [style=filled, fillcolor="#181616", fontcolor="#dcd7ba"];
edge [color="#181616", fontcolor="#dcd7ba"];
"pythonic_fp.booleans" -> threading;
"pythonic_fp.gadgets" -> inspect;
"pythonic_fp.gadgets" -> threading;
"pythonic_fp.iterables" -> enum;
"pythonic_fp.numpy" -> numpy;
}](_images/graphviz-82010abe00f58a0b2f4607ba3876c9870d3bc05d.png)
Semantic Versioning¶
Pythonic FP Projects¶
Maintainer has adopted strict 3 digit semantic versioning and does not put caps on dependencies for library modules.
This allows for more package management flexibility for software developers using these libraries, and provides easier access to the latest features.
Homepage & Integrated Testing (pythonic-fp)¶
The meanings for version numbers can change with paradigm shifts. Currently they are
major: for paradigm shifts
minor: homepage changes, additional tests
patch: typos, git/pypi thrashing, pure eye-candy
Changelog¶
Pythonic FP overarching CHANGELOG.
Each individual Pythonic FP project has its own CHANGELOG too.