惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
B
Blog RSS Feed
I
InfoQ
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
GbyAI
GbyAI
H
Help Net Security
L
LangChain Blog
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
aimingoo的专栏
aimingoo的专栏

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店
GitHub - tickstem/python: Python SDKs for Tickstem develo...
m_barsukou · 2026-05-12 · via Hacker News: Show HN

PyPI Python CI License: MIT

Python SDK for Tickstem — cron jobs, uptime monitoring, heartbeat checks, and email verification under a single API key.

pip install tickstem

Requires Python 3.11+.


Cron jobs

Schedule HTTP endpoints on a cron expression. Works on Vercel, Railway, Render, and Fly.io — no background processes required.

from tickstem import CronClient, CronRegisterParams

client = CronClient("tsk_your_api_key")

job = client.register(CronRegisterParams(
    name="Send digest",
    schedule="0 9 * * 1-5",   # 9am weekdays
    endpoint="https://yourapp.com/webhooks/digest",
    method="POST",
))

print(job.id, job.next_run_at)

# List jobs and executions
jobs = client.list()
executions = client.executions(job.id)

# Pause / resume / delete
client.pause(job.id)
client.resume(job.id)
client.delete(job.id)

Uptime monitoring

Poll HTTP endpoints and get alerted by email on failure, recovery, and SSL expiry.

from tickstem import UptimeClient, UptimeCreateParams, Assertion

client = UptimeClient("tsk_your_api_key")

monitor = client.create(UptimeCreateParams(
    name="Production API",
    url="https://api.yourapp.com/health",
    interval_secs=60,
    assertions=[
        Assertion(source="status_code",   comparison="eq", target="200"),
        Assertion(source="response_time", comparison="lt", target="2000"),
        Assertion(source="body",          comparison="contains", target='"status":"ok"'),
    ],
))

# Check history
checks = client.checks(monitor.id, limit=50)
for check in checks:
    print(check.status, check.duration_ms, "ms")

# Pause / resume / delete
client.update(monitor.id, UptimeUpdateParams(status="paused"))
client.delete(monitor.id)

Heartbeat monitoring

Dead man's switch for scheduled jobs. Ping after each successful run — get alerted if pings stop arriving.

from tickstem import HeartbeatClient, HeartbeatCreateParams

client = HeartbeatClient("tsk_your_api_key")

# Create once — save the token
hb = client.create(HeartbeatCreateParams(
    name="daily backup",
    interval_secs=86400,  # expect a ping every 24h
    grace_secs=3600,      # 1h grace before alerting
))

# At the end of every successful job run — no API key needed
status = client.ping(hb.token)
print(status)  # "ok" or "paused"

# Pause / resume
client.pause(hb.id)
client.resume(hb.id)

Email verification

Check syntax, MX records, disposable domains, and role-based prefixes before storing an address.

from tickstem import VerifyClient

client = VerifyClient("tsk_your_api_key")

result = client.verify("user@example.com")
print(result.valid)      # True
print(result.disposable) # False
print(result.role_based) # False
print(result.reason)     # "" (empty when valid)

# Verification history
history = client.history(limit=20)

Error handling

from tickstem import CronClient, APIError, is_unauthorized, is_quota_exceeded

client = CronClient("tsk_your_api_key")

try:
    jobs = client.list()
except APIError as err:
    if is_unauthorized(err):
        print("invalid API key")
    elif is_quota_exceeded(err):
        print("plan limit reached")
    else:
        print(f"error {err.status}: {err.message}")

Custom base URL / HTTP client

import httpx
from tickstem import CronClient

# Override base URL (e.g. for testing)
client = CronClient("tsk_test", base_url="http://localhost:8080/v1")

# Bring your own httpx.Client (timeouts, proxies, etc.)
http = httpx.Client(timeout=30.0)
client = CronClient("tsk_your_api_key", http_client=http)

# Use as a context manager to ensure the connection is closed
with CronClient("tsk_your_api_key") as client:
    jobs = client.list()

Links