project management toolbox
Project description
A python tool box
Our python tool-box is supposed to help professionals in their day-to-day work.
Everything started when reaching blocking limitations with MS Excel, forcing us to search for alternatives. We learned Python, and started to implement reusable snippets.
As of 2021, we have a first workable snippet (yet perfectible), and we target to progressively (even-though slowly) enrich this tool-box, focusing on "IT project management" related stuff (as a start?).
In case you have feedbacks, ideas or suggestions, please let us know!
Table of contents
- The project management toolbox
- Predictability
- Date
- Predictability
- The technicalities
- PyPi versions
- Install
- Use
- Contribute
The project management toolbox
Predictability
By definition, a good project manager is predictable, right?
But what do we mean by “being predictable”? Let’s say that “Predictabilty” is about accurately predicting early enough the project outcomes, to enable timely corrective actions that increase the likelihood of achieving targets and reducing outcome variance.
Ok, fair enough. But how do we measure a project manager “predictable-ness”?
Date predictability
The module com.enovation.toolbox.predictability.dp_date_predictability
exposes several commands to deal with date predictability:
Command | Description |
---|---|
dp_compute |
To compute the predictability for historical prediction of a date (eg. go live date, deal closure date) |
dp_persist |
To persist into an excel file the outputs from the command dp_compute |
dp_load |
To load the outputs from the command dp_compute that were persisted into an excel file |
dp_graph |
To visualize the outputs from the command dp_compute into a graph powered by dash |
dp_demo |
To demonstrate some of the above command |
The technicalities
PyPi Versions
- 0.0.5: date predictability - workable version
- 0.0.15: with a revamped readme.md, and 'demo' command, before sharing with "early adopters"
- 0.0.20: dp-demo fixed
- 0.0.21: click commands to handle json, excel dashboard with vba, dash with bubbles
Dependencies
When installing com-enovation
, the following packages will be deployed automatically by pip
:
pandas
: to handle dataframes, series, etcclick
: to handle command lineenlighten
: to display a progress bar for lengthy stepsopenpyxl
: to handlexlsx
filesxlwt
: that is a dependency forpandas.io.excel
xlrd
: yet another dependency forpandas.io.excel
dash
: to graphscipy
: to compute date predictability without resampling measures, usingspecial.psi
functionxlsxwriter
: to produce excel spreadsheet. Used inexcel_dashboard
jsonschema
: to check json parameters. Used inexcel_dashboard
Install
- Check
Python 3
is installed on your machine - Check
pip
is installed on your machine - Install the
com-enovation
tool-box:python3 -m pip install com-enovation
- You can test by launching a python interpreter:
python3
- And load the package:
>>> import com.enovation
- You can test by launching a python interpreter:
- Ensure the deployed script is added to your
PATH
- Upgrade the
com-enovation
tool-box:pip install --upgrade com-enovation
Use
- You can get help by executing
enov -- help
in a terminal - You have commands that you can run like
enov load-csv --help
- Commands have:
- Parameters that you can provide like
enov load-csv ./the-csv-file-to-load.csv
- Options that you can provide like
enov load-csv ./the-csv-file-to-load.csv -c the-first-column-label-to-load -c the-second-one
- Parameters that you can provide like
- You can call for more logs by calling
enov --verbose load-csv ./the-csv-file-to-load.csv -c the-first-column-label-to-load -c the-second-one
Contribute
Generate and publish the distribution
-
build the distribution files and directories:
python3 -m build
- Directories
build
anddist
should be generated - In case you face an error
No module named build
, you need first to runpip install build
- Directories
-
publish to
pypi
:python3 -m twine upload --repository pypi dist/*
- Package viewable at pypi
-
Commands to execute from the root directory
com.enovation
Pycharm configuration
-
In the left pan:
- Directory
src
: mark asSources Root
- Directory
tests
: DO NOT mark as anything...
- Directory
-
Unit test configuration, from menu
Run > Edit Configurations...
Configuration > Target > Script path: /Users/jsg/PycharmProjects/com.enovation/tests
Configuration > Working directory: /Users/jsg/PycharmProjects/com.enovation/
Configuration > Add content roots to PYTHONPATH: checked
Configuration > Add source roots to PYTHONPATH: checked
Python stuff
-
Check we have latest versions:
- pip:
python3 -m pip install --upgrade pip
- build to generate the distribution:
python3 -m pip install --upgrade build
- twine to publish to pypi:
python3 -m pip install --upgrade twine
- pip:
-
Update packages using pip
- Check all packages are fine:
pip check
- List all packages outdated:
pip list --outdated
- Update all packages outdated:
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
- Check all packages are fine:
-
A simple example package. You can use Github-flavored Markdown to write your content.
-
To debug a running Click application:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for com_enovation-0.0.21-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc840cf65c60a3569bbd5669ebc29831def9a7e6f911a9fb3d5edff8b14aa429 |
|
MD5 | 8826a9b3359541614e529f3f14ab64ac |
|
BLAKE2b-256 | 948bc8ff4836a9433120e4002815525afa213d5165333abcf315ebdef10b4f60 |