
Security News
NVD Concedes Inability to Keep Pace with Surging CVE Disclosures in 2025
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
A tool to wait for services and execute command. Useful for Docker containers that depend on slow to start services (like almost everything).
A tool to wait for services and execute command. Useful for Docker containers that depend on slow to start services (like almost everything).
Currently holdup is only published to PyPI and hub.docker.com <https://hub.docker.com/r/ionelmc/holdup>
_.
To install from PyPI::
pip install holdup
It has no dependencies except the optional PostgreSQL check support, which you'd install with::
pip install 'holdup[pg]'
You can also install the in-development version with::
pip install https://github.com/ionelmc/python-holdup/archive/master.zip
Example::
docker run --rm ionelmc/holdup tcp://foobar:1234
Note that this will have some limitations:
command
is pretty pointless because holdup will run in its own containerdocker run
inside a container without exposing a docker daemon in said containerusage: holdup [-h] [-t SECONDS] [-T SECONDS] [-i SECONDS] [-n] service [service ...] [-- command [arg [arg ...]]]
Wait for services to be ready and optionally exec command.
positional arguments:
service
A service to wait for. Supported protocols: "tcp://host:port/", "path:///path/to/something", "unix:///path/to/domain.sock", "eval://expr", "pg://user:password@host:port/dbname" ("postgres" and "postgresql" also allowed), "http://urn", "https://urn", "https+insecure://urn" (status 200 expected for http*). Join protocols with a comma to make holdup exit at the first passing one, eg: "tcp://host:1,host:2" or "tcp://host:1,tcp://host:2" are equivalent and mean any that pass
.
command
An optional command to exec.
optional arguments:
-h, --help show this help message and exit
-t SECONDS, --timeout SECONDS
Time to wait for services to be ready. Default: 60.0
-T SECONDS, --check-timeout SECONDS
Time to wait for a single check. Default: 1.0
-i SECONDS, --interval SECONDS
How often to check. Default: 0.2
-v, --verbose Verbose mode.
--verbose-passwords Disable PostgreSQL/HTTP password masking.
-n, --no-abort Ignore failed services. This makes holdup
return 0 exit code regardless of services actually responding.
--insecure Disable SSL Certificate verification for HTTPS services.
--version display the version of the holdup package and its location, then exit.
Example::
holdup tcp://foobar:1234 -- django-admin ...
https://python-holdup.readthedocs.io/
To run all the tests run::
tox
Note, to combine the coverage data from all the tox environments run:
.. list-table:: :widths: 10 90 :stub-columns: 1
- - Windows
- ::
set PYTEST_ADDOPTS=--cov-append
tox
- - Other
- ::
PYTEST_ADDOPTS=--cov-append tox
holdup.checks
module.holdup[pg]
extra will require that). The old psycopg2 is still supported for now.--verbose-passwords
to disable this feature).--version
argument.connect_timeout
). The float is now converted to an integer.Added a PostgreSQL check. It handles the the database system is starting up
problem.
Contributed by Dan Ailenei in 6
.
Changed output so it's more clear and more brief:
Simplified the internals for the "AnyCheck".
--insecure
option and https+insecure
protocol).
Contributed by Mithun Ayachit in 2
.-v
or --verbose
).eval://expression
protocol for weird user-defined checks.--interval
option for how often to check. No more spinloops.FAQs
A tool to wait for services and execute command. Useful for Docker containers that depend on slow to start services (like almost everything).
We found that holdup demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.