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 communicatins ••• 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 is broker-based middleware ••• uses direct peer-to-peer connections
  • NATS delegates message serialization, e.g. to protobuf ••• sends and receives final application values

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.25.tar.gz (160.3 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.25-py3-none-any.whl (195.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kipjak-1.0.25.tar.gz
  • Upload date:
  • Size: 160.3 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.25.tar.gz
Algorithm Hash digest
SHA256 d041dbafe11f3517237561d78b7403cab54aea41acc524399f3a8876023f0b55
MD5 ccbf9060918d1c5b9fafbed9e107333b
BLAKE2b-256 1f92358d064b25bd373735fe7244cc1cc47ab59b6c5ce0f16107379a4ec4dfcb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kipjak-1.0.25-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.25-py3-none-any.whl
Algorithm Hash digest
SHA256 6235e6c96fc99699b66465217c1c872b863f8092d6485d1c45e3aa09b02ef637
MD5 d7de3358b77dd7974838624e007664f1
BLAKE2b-256 1b8275f96eaa4b1b6fe35b4843b91914e1e551e6a9af464059d23b245e78c401

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