semvec/pypi-packages huggingface dataset:
portend 3.2.1
TCP port monitoring and discovery
Requires Python: >=3.9

.. image:: https://img.shields.io/pypi/v/portend.svg
   :target: https://pypi.org/project/portend

.. image:: https://img.shields.io/pypi/pyversions/portend.svg

.. image:: https://github.com/jaraco/portend/actions/workflows/main.yml/badge.svg
   :target: https://github.com/jaraco/portend/actions?query=workflow%3A%22tests%22
   :alt: tests

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

.. image:: https://readthedocs.org/projects/portend/badge/?version=latest
   :target: https://portend.readthedocs.io/en/latest/?badge=latest

.. image:: https://img.shields.io/badge/skeleton-2025-informational
   :target: https://blog.jaraco.com/skeleton

.. image:: https://tidelift.com/badges/package/pypi/portend
   :target: https://tidelift.com/subscription/pkg/pypi-portend?utm_source=pypi-portend&utm_medium=readme

por·tend
pôrˈtend/
verb

    be a sign or warning that (something, especially something momentous or calamitous) is likely to happen.

Usage
=====

Use portend to monitor TCP ports for bound or unbound states.

For example, to wait for a port to be occupied, timing out after 3 seconds::

    portend.occupied('www.google.com', 80, timeout=3)

Or to wait for a port to be free, timing out after 5 seconds::

    portend.free('::1', 80, timeout=5)

The portend may also be executed directly. If the function succeeds, it
returns nothing and exits with a status of 0. If it fails, it prints a
message and exits with a status of 1. For example::

    python -m portend localhost:31923 free
    (exits immediately)

    python -m portend -t 1 localhost:31923 occupied
    (one second passes)
    Port 31923 not bound on localhost.

Portend also exposes a ``find_available_local_port`` for identifying
a suitable port for binding locally::

    port = portend.find_available_local_port()
    print(port, "is available for binding")

Portend additionally exposes the lower-level port checking functionality
in the ``Checker`` class, which currently exposes only one public
method, ``assert_free``::

    portend.Checker().assert_free('localhost', 31923)

If assert_free is passed a host/port combination that is occupied by
a bound listener (i.e. a TCP connection is established to that host/port),
assert_free will raise a ``PortNotFree`` exception.


For Enterprise
==============

Available as part of the Tidelift Subscription.

This project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.

`Learn more <https://tidelift.com/subscription/pkg/pypi-portend?utm_source=pypi-portend&utm_medium=referral&utm_campaign=github>`_.
quartz-cron-checker 0.2.1
Simple Python library to check if a Quartz cron expression is valid.
Requires Python: >=3.10

# quartz-cron-checker

**quartz-cron-checker** is a lightweight, strict validator for [Quartz-style cron expressions](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html) in Python.

It ensures all parts of the cron string conform to the Quartz cron spec—including support for special characters, named values, and mutual exclusivity of day-of-month and day-of-week.

## Features

- ✅ Full support for 6- or 7-field Quartz cron expressions (`second minute hour day-of-month month day-of-week [year]`)
- ✅ Literal handling (`*`, `?`, `L`, `W`, `#`)
- ✅ Named months (`JAN`, `FEB`, etc.) and days (`MON`, `TUE`, etc.)
- ✅ Detailed error messages and exceptions
- ✅ Clean object-oriented API
- ✅ Extensible field-level validation

## Installation

```bash
pip install quartz-cron-checker
```

## Usage

Calling `validate` will raise an exception if the cron string is invalid. The method will return `True` otherwise.

```python
from quartz_cron_checker import QuartzCronChecker

# Parse and validate a cron string
cron = QuartzCronChecker.from_cron_string("0 0 12 ? * MON-FRI")
cron.validate()  # Raises if invalid

# __str__ returns the original cron string
print(cron)
>>> 0 0 12 ? * MON-FRI

# __repr__ returns a more detailed representation
print(repr(cron))
>>> <QuartzCronChecker(second=0, minute=0, hour=12, day_of_month=?, month=*, day_of_week=MON-FRI, year=None)>
```

You can also validate either a whole cron string or individual fields without creating an object:
```python
from quartz_cron_checker import validate_cron_string, validate_day_of_month, validate_second

# Validate a full cron string
print(validate_cron_string("0 0 12 ? * MON-FRI"))
>>> True

print(validate_cron_string("0 0 12 ? * MON-FRI-SAT"))
>>> PatternOrLiteralMatchError: [day_of_week=MON-FRI-SAT] Part 'MON-FRI-SAT' does not match any literal (THU, FRI, MON, SAT, TUE, WED, *, SUN, ?) or allowed pattern (Range, Increment, Range with increment, List of digits, Day of week occurrence, Last day of week in month, Day of week range, Specific day of week)


# Validate individual fields
print(validate_second("0"))
>>> True

print(validate_day_of_month("13/26"))
>>> True

print(validate_day_of_month("31W"))
>>> True

print(validate_day_of_month("33W"))
>>> PatternValidatorError: [day_of_month=33W] Part '33W' matches pattern 'Nearest weekday' ('^(\d+)W$') but failed semantic validation: must be between 1 and 31
```
plateo 0.3.1
Read/write microplate and picklist data for lab automation
Keywords: microplate, biology, parser, converter, experiment

Plateo
======

Plateo (pronounced *Plato*, like the planet) is a Python library to assist in the
planning, running and checking of laboratory experiments involving microplates.

It can be used to:

- Read and write robotic protocols (picklists) in different formats to
  accomodate different liquid dispensers (Tecan EVO, Labcyte Echo).
- Simulate liquid dispensing runs, taking into account the capacity and dead
  volume of each container, to predict the maps of future plates.
- Parse plate data from common laboratory robots (for kinetic experiments,
  fragment analysis, qPCR, etc.)
- Export plate information in various formats (graphics, spreadsheets, HTML,
  JSON, etc.).


Infos
-----

**PIP installation:**

.. code:: bash

  pip install plateo

**Web documentation:** `<https://edinburgh-genome-foundry.github.io/Plateo/>`_

**Github Page:** `<https://github.com/Edinburgh-Genome-Foundry/Plateo>`_

**Live demo:** `<https://cuba.genomefoundry.org/create_assembly_picklists>`_

**License:** MIT

Copyright 2017 Edinburgh Genome Foundry, University of Edinburgh


More biology software
---------------------

.. image:: https://raw.githubusercontent.com/Edinburgh-Genome-Foundry/Edinburgh-Genome-Foundry.github.io/master/static/imgs/logos/egf-codon-horizontal.png
  :target: https://edinburgh-genome-foundry.github.io/

Plateo is part of the `EGF Codons <https://edinburgh-genome-foundry.github.io/>`_ synthetic biology software suite for DNA design, manufacturing and validation.