Skip to main content

Concurrency via multithreading, multiprocessing and multihosting

Project description

skipjack

A small, pelagic fish from the tuna family. Found in large schools in the tropical and sub-tropical oceans of the world.

PyPI - Python Version PyPI - Version PyPI - Coverage PyPI - Integration


The kipjak library is applicable to;

  • Large, multiprocess website backends
  • Applications with complex multithreading requirements
  • Components requiring one or more subprocesses
  • Complex, distributed process control systems

The technical goal of the kipjak library is to deliver software communications, wherever the relevant software entities may be located. At the lowest level this involves a message-driven framework providing for seamless communication between threads, processes and hosts. At higher levels it delivers responsiveness, concurrency and clarity.

  • Sophistication with clarity ••• separation from the details of threads and networks
  • Quick on-boarding ••• cookbook of multithreading, multiprocessing and multihosting solutions
  • Optimal throughput ••• load distribution across threads, processes and hosts
  • Quality client feedback ••• negative responses to requests during periods of heavy load
  • Simple leveraging of sub-processes ••• load child processes as callable libraries
  • Process orchestration ••• definition and execution of persisted process groups
  • System daemons ••• foreground or background execution
  • True application messaging ••• send and receive application values; Person, list[Person], dict[UUID,Person], bool, etc
  • Broker-less communications ••• no middleware, no additional hop, no additional latency
  • Publish-subscribe networking ••• networking without network addresses
  • Industrial-grade encryption ••• NaCl (Salt)
  • Automated transport monitoring ••• discreet keep-alive protocol
  • HTTP integration ••• RPC or RESTful APIs
  • Technical support ••• baked-in logging, log storage and log recovery

A few comparisons of related technologies with kipjak;

  • HTTP is a blocking, request-response model ••• fundamentally asynchronous with HTTP integration
  • ZeroMQ delegates message serialization, e.g. to protobuf ••• sends and receives final application values
  • NATS is broker-based middleware ••• uses direct peer-to-peer connections

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

kipjak-1.0.27.tar.gz (160.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kipjak-1.0.27-py3-none-any.whl (195.0 kB view details)

Uploaded Python 3

File details

Details for the file kipjak-1.0.27.tar.gz.

File metadata

  • Download URL: kipjak-1.0.27.tar.gz
  • Upload date:
  • Size: 160.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for kipjak-1.0.27.tar.gz
Algorithm Hash digest
SHA256 03a66cd7cc4bb9df7fde1fb294d4fa3f3f1bbdde3c302c6c67cd81011458ec9c
MD5 904cfc68931f9187aa8b0c8e4174b109
BLAKE2b-256 23ff23a6d2ad3f08cae15f7a53f4ec2be40f3232335659f0005357cc84fe9e3d

See more details on using hashes here.

File details

Details for the file kipjak-1.0.27-py3-none-any.whl.

File metadata

  • Download URL: kipjak-1.0.27-py3-none-any.whl
  • Upload date:
  • Size: 195.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for kipjak-1.0.27-py3-none-any.whl
Algorithm Hash digest
SHA256 260c3b8db0964436a20df2518577103593999215613c4837723d38f857072673
MD5 86bef371ff0afe1b4cd9ba059b31473e
BLAKE2b-256 aed21dda620fdaae510f2d27a94ae7682b12c50df51a2116e920dfca4850ed40

See more details on using hashes here.

Supported by

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