Skip to main content

The ps (Production System) packages implementation started in 2013. Given a non staged production environment - hosted on different operating Systems all around the globe the implementations first goal was to consolidate the widely spread scripts and standalone Programs - started via cron - under one umbrella. At that time it was decided to implement that umbrella using python 2.4. The ps.basic package was created.

Back than the ps.basic requirements where:

  • establish the usage of templates for shell scripts and emails

  • establish a consistent way calling shell scripts and sending emails

  • establish a consistent way for local logging (with automatic logfile rotation/deletion)

  • establish a consistent way to handle configuration files

  • establish a consistent way to handle staged environments (TESTING/DEVELOPMENT/INTEGRATION/PRODUCTION)

In the next step it was decided to:

  • enhance the logging

    • additionally send the logging message to a network socket endpoint

    • enhance the logging message with version number, Product_id, ….

    • implement a program/package ps_bridge being able to receive those logging messages
      • to store those logging messages in an sqlite database (as delivered with the python standard distribution)

      • or/and route those logging messages to further destinations

    • implement a web server ps_herald to analyze the logging messages provided by the sqlite database on a node

    • implement a tool in that package ps_neelix to react on
      • logging messages e.g inform interested parties that something happened e.g using email via stage_specific configuration files (easily added to versioning control)

      • lost heartbeats of monitored services putting their logging messages in the sqlite database on a node

  • add a finite state machine environment to the ps.basic package

    • easing putting structure to the implementation

    • a graphical representation based on pygraphviz was added - generating the image from the implementation.

Those mechanisms where implemented compatible to python 2.4. Having a package major version numbers 0 e.g. 0.x.x and are used in daily production.

It allows for a staged development/production environment - combined with CI/CT … allowing to easily monitor the distributed services behaviour and configuration - as depicted in the following picture.

Jenkins_on_DEV_STAGES.png
Crucial points for the logging are:
  • the used network connections are setup using ssh where the setup of the connection is completely owned by the “mother company” - it is currently not in the scope of the project to further manage this

  • that the Version number of the service (beside module name , line number …) is automatically integrated into the logging message - serving Requirements for ITIL.

  • it is possible (and used in production) to (easily) extend existing applicacitions to use the (version based) logging mechanism.

Starting with the usage of python 3 the package was released to the public using a major version number 1 e.g. 1.x.x.

Documentation: https://psbasic.readthedocs.io

Git: https://bitbucket.org/drsetz/ps.basic/src/master/

Release files for ps.basic 1.2.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ps.basic 1.2.19
File Size Uploaded
ps.basic-1.2.19.tar.gz 41.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ps.basic 1.2.19
File Interpreter ABI Platform
ps.basic-1.2.19-py3-none-any.whl Python 3 none any Details

Total release size: 76.8 kB

Release files / ps.basic-1.2.19.tar.gz

Download URL ps.basic-1.2.19.tar.gz
Size 41.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fc6217da806197af0c846fabf8b4a54f2cbefca3b5ec30b096c628df0862967e
BLAKE2b-256 checksum
How to use checksums
c3f8ada43338167ac93fbaa113105e837ac392e77c06f7c89c0508324c8e11c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.0

Release files / ps.basic-1.2.19-py3-none-any.whl

Download URL ps.basic-1.2.19-py3-none-any.whl
Size 35.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4e231c126cb2c69eba46e3d74c9a13f7853cc1a6b8cfe3fcca2f598222acd2f2
BLAKE2b-256 checksum
How to use checksums
1ce8923b8a922d8a2f021e9dadbe826b648934ca8ff5d5b58ade30c408fccb53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.0

Release history Release notifications | RSS feed

This release

1.2.19 This release

2 release files

1.2.18

3 release files

1.2.13

2 release files

1.2.12

2 release files

1.2.11

2 release files

1.2.10

2 release files

1.2.9

2 release files

1.2.7

2 release files

1.2.4

1 release file

1.1.22

1 release file

1.1.9

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page