Skip to main content

Bootstrapper

Bootstrapper is used to quickly establish generic microservices.

What does it do

Bootstrapper takes care of several tedious and menial microservice tasks including:

  • Handles the loading process of microservices including a hand off back to the business logic
  • Abstracts away common integrations (referred to as drivers) such as MySQL, AWS (boto3), MongoDB, Redis, Sentry, SocketIO, FastAPI
    • Each driver has varying levels of abstraction and completeness
  • Abstracts away environments. The bootstrapper treats the loading process differently depending on whether the service is in prod, qa, test, or dev
  • Exposes an API to the developer for creating integrations between microservices which are part of the same application. These are referred to as integrations.
  • Loads default and developer defined configuration files depending on the environment the service is in.
  • Exposes a singleton state manager to the microservice
  • Contains a small library of useful models, functions, and code for development of microservices.
  • Installs many common PyPi dependencies which are used across most microservices

What is isn't

  • Bootstrapper is not a microservice template, however, it can and should be used within microservice templates.
    • Due to proprietary nature of microservice templates, eHelply has chosen not to offer one publicly at the moment. This decision may change in the future.
  • Perfect. There are many drivers which could be added or improved. Feel free to submit PRs to add new drivers.

Is this stable and production ready?

The quick and dirty answer is probably. eHelply is using Bootstrapper to power all of our microservices. For this reason, this project continues to mature and evolve over time. At this point, we would consider it to be reasonably stable. By no means is it feature complete, and it is possible for breaking changes to be introduced in the near or long term, but we don't expect the Bootstrapper to fail in production scenarios at this time.

In addition to this information, eHelply plans to launch microservices into production in late 2020 or early 2021, so we would expect this project to be officially production ready at that point in time.

Contributing

The goal of Bootstrapper is to be a generic microservice bootstrapper. This means that it should provide value to any company, organization, or individual that wishes to utilize it. For this reason, all contributions must also be generic and refrain from opinionated choices.

Since eHelply is sponsoring the development of this project, it is unlikely that breaking changes would be accepted and merged in from third parties. However, we always welcome new (non-breaking) additions and bug fixes. And, who knows, if your breaking change is necessary, it will be merged in.

Commands

  • Run tests: pytest
  • Run tests with coverage report: pytest --cov=ehelply_bootstrapper
  • Clear cache: poetry cache clear pypi --all
  • Do a full wipe and update of packages: poetry add fastapi@latest pymongo@latest redis@latest python-socketio@latest sentry-asgi@latest boto3@latest pymysql@latest SQLAlchemy@latest alembic@latest wheel@latest bcrypt@latest python-jose@latest pyjwt@latest passlib@latest cryptography@latest pyopenssl@latest typer@latest GitPython@latest python-multipart@latest email-validator@latest requests@latest python_dateutil@latest python-slugify@latest isodate@latest pymlconf@latest pylint@latest ehelply-logger@latest ehelply-batcher@latest ehelply-cacher@latest uvicorn@latest hiredis@latest pytest-cov@latest pytest-asyncio@latest pdoc3@latest

Metadata

Release files for ehelply-bootstrapper 0.18.7

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

Source distribution (sdist)

Source distribution for ehelply-bootstrapper 0.18.7
File Size Uploaded Provenance Actions
ehelply-bootstrapper-0.18.7.tar.gz 45.1 kB Without provenance Details for ehelply-bootstrapper-0.18.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ehelply-bootstrapper 0.18.7
File Interpreter ABI Platform Actions
ehelply_bootstrapper-0.18.7-py3-none-any.whl Python 3 none any Details for ehelply_bootstrapper-0.18.7-py3-none-any.whl

Total release size: 102.4 kB

Release files / ehelply-bootstrapper-0.18.7.tar.gz

Download URL ehelply-bootstrapper-0.18.7.tar.gz
Size 45.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cfcbedffa830cdab9b17c58c898b7909a330855dee596347255fac091862272a
BLAKE2b-256 checksum
How to use checksums
b12c3292f996969a95d791a4c9dabe538cbf4ff37aa0e88cfccbb66562676ec2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.14 CPython/3.10.4 Windows/10

Release files / ehelply_bootstrapper-0.18.7-py3-none-any.whl

Download URL ehelply_bootstrapper-0.18.7-py3-none-any.whl
Size 57.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d87edff14cea010337245fa0669c28c5221a793730cb02ee1e85a14a47aa7f5c
BLAKE2b-256 checksum
How to use checksums
22edf71b899086e1c6438509ca58cd0d6cbe94db6934a7d5b0d7dde9cd7dbbcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.14 CPython/3.10.4 Windows/10

Security for ehelply-bootstrapper 0.18.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.18.7 This release

2 release files No provenance

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