Skip to main content

project management toolbox

Project description

A python tool box

Our python tool-box is supposed to help professional in their day-to-day work.

Everything started when reaching blocking limitations with Excel, which forced us to start learning Python. We then 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
  • 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 (incl. beyond our own R&R), 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.date_predictability exposes several commands to deal with date predictability:

Command Description
compute_date_predictability To compute the predictability for historical prediction of a date (eg. go live date, deal closure date)
write_predictability To persist into an excel file the outputs from the command compute_date_predictability
load_predictability_bean To load the outputs from the command compute_date_predictability that were persisted into an excel file
graph_predictability_into_dash To visualize the outputs from the command compute_date_predictability into a graph powered by dash

The technicalities

PyPi Versions

  • 0.0.5: date predictability - workable version
  • 0.0.12: with a revamped readme.md, before sharing with "early adopters"

Dependencies

When installing com-enovation, the following packages will be deployed automatically by pip:

  • pandas: to handle dataframes, series, etc
  • click: to handle command line
  • enlighten: to display a progress bar for lengthy steps
  • openpyxl: to handle xlsx files
  • xlwt: that is a dependency for pandas.io.excel
  • dash: to graph
  • To be decommissioned:
    • scipy: used in old version of data preditability, that used special.psi function

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
  • Ensure the deployed script is added to your PATH

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
  • 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 and dist should be generated
  • 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

  • Unit test configuration, from menu Run > Edit Configurations...
    • Configuration > Target > Script path: /Users/jsg/PycharmProjects/com.enovation.toolbox/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
  • 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
  • A simple example package. You can use Github-flavored Markdown to write your content.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

com-enovation-0.0.12.tar.gz (19.0 kB view hashes)

Uploaded Source

Built Distribution

com_enovation-0.0.12-py3-none-any.whl (23.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page