Development¶
Purpose pythonic-fp PyPI Project¶
The pythonic-fp PyPI project is a central component of the Pythonic FP libraries.
Claims the pythonic-fp name on PyPI for the overall effort.
PyPI project for the
pythonic_fp.homepagemodule.Homepage provides links to the
PyPI projects making up the Pythonic FP effort
GitHub Repos for each project
Documentation 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 it is installed.
Module 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¶
For each individual project the maintainer has adopted strict 3 digit semantic versioning for library modules and does not put caps on dependencies.
This allows for more package management flexibility for software developers using these libraries, and provides easier access to the latest features.
Pythonic FP Overall Effort¶
major: For paradigm shifts.
minor: Coordinated releases.
patch: Homepage changes.
Changelog¶
Pythonic FP overarching CHANGELOG.
Each individual Pythonic FP project has its own CHANGELOG too.