
Research
/Security News
10 npm Typosquatted Packages Deploy Multi-Stage Credential Harvester
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.
A reliable distributed scheduler with pluggable storage backends for Async Python.
Minimal installation (just SQLite persistence):
pip install pyncette
Full installation (all the backends and Prometheus metrics exporter):
pip install pyncette[all]
You can also install the in-development version with:
pip install https://github.com/tibordp/pyncette/archive/master.zip
https://tibordp.github.io/pyncette/
Simple in-memory scheduler (does not persist state)
from pyncette import Pyncette, Context
app = Pyncette()
@app.task(schedule="* * * * *")
async def foo(context: Context):
print("This will run every minute")
if __name__ == "__main__":
app.main()
Persistent distributed cron using Redis (coordinates execution with parallel instances and survives restarts)
from pyncette import Pyncette, Context
from pyncette.redis import redis_repository
app = Pyncette(repository_factory=redis_repository, redis_url="redis://localhost")
@app.task(schedule="* * * * * */10")
async def foo(context: Context):
print("This will run every 10 seconds")
if __name__ == "__main__":
app.main()
See the examples directory for more examples of usage.
Pyncette is designed for reliable (at-least-once or at-most-once) execution of recurring tasks (think cronjobs) whose lifecycles are managed dynamically, but can work effectively for non-reccuring tasks too.
Example use cases:
Pyncette might not be a good fit if:
Pyncette comes with an implementation for the following backends (used for persistence and coordination) out-of-the-box:
pip install pyncette[redis])pip install pyncette[postgres])pip install pyncette[mysql])pip install pyncette[mongodb])pip install pyncette[dynamodb])Pyncette imposes few requirements on the underlying datastores, so it can be extended to support other databases or custom storage formats / integrations with existing systems. For best results, the backend needs to provide:
Install uv for fast package management:
curl -LsSf https://astral.sh/uv/install.sh | sh
Sync dependencies and install the package in editable mode:
uv sync --extra all
Unit tests (fast, no external dependencies):
uv run pytest -m "not integration" tests
Integration tests (requires Redis, PostgreSQL, MySQL, MongoDB, DynamoDB):
Using Docker Compose to set up all backends:
docker-compose up -d
docker-compose run --rm shell
uv run pytest tests
Or manually with services running locally:
uv run pytest tests
Test on specific Python version:
uv venv --python 3.11
uv sync --extra all
uv run pytest tests
Run linting and type checking:
uv run pre-commit run --all-files
uv run ty check src examples
uv run mkdocs build
# Or serve locally with live reload
uv run mkdocs serve
uv build
FAQs
A reliable distributed scheduler with pluggable storage backends
We found that pyncette 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.

Research
/Security News
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.