
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Official Python SDK for IndiePitcher
# Install with pip
pip install indiepitcher
# Or install with uv (recommended)
uv pip install indiepitcher
from indiepitcher import IndiePitcherClient, SendEmail, EmailBodyFormat
# Initialize the client with your API key
client = IndiePitcherClient(api_key="your_api_key")
# or for async environments
# client = IndiePitcherAsyncClient(api_key="your_api_key")
# Send a transactional email
email = SendEmail(
to="recipient@example.com",
subject="Hello from IndiePitcher!",
body="This is a **markdown** email sent via the IndiePitcher Python SDK.",
body_format=EmailBodyFormat.MARKDOWN
)
response = client.send_email(email)
print(f"Email sent successfully: {response.success}")
For detailed documentation, visit docs.indiepitcher.com.
from indiepitcher import IndiePitcherClient, CreateContact
client = IndiePitcherClient(api_key="your_api_key")
# Create a new contact
contact = CreateContact(
email="user@example.com",
name="Example User",
subscribed_to_lists=["newsletter"],
custom_properties={"favorite_color": "blue"}
)
response = client.create_contact(contact)
# Get a contact
contact = client.get_contact("user@example.com")
print(contact.data.name) # "Example User"
# List contacts with pagination
contacts = client.list_contacts(page=1, per_page=50)
for contact in contacts.data:
print(contact.email)
from indiepitcher import IndiePitcherClient, SendEmailToMailingList, EmailBodyFormat
from datetime import datetime, timedelta
client = IndiePitcherClient(api_key="your_api_key")
# Send an email to a mailing list
email = SendEmailToMailingList(
subject="Newsletter #1",
body="# Welcome to our newsletter\n\nThanks for subscribing!",
body_format=EmailBodyFormat.MARKDOWN,
list="newsletter",
track_email_opens=True,
track_email_link_clicks=True,
# Schedule the email for future delivery
delay_until_date=datetime.now() + timedelta(days=1)
)
response = client.send_email_to_mailing_list(email)
The SDK also provides an asynchronous client for use in async applications:
import asyncio
from indiepitcher import IndiePitcherAsyncClient, SendEmail, EmailBodyFormat
async def send_email_example():
async with IndiePitcherAsyncClient(api_key="your_api_key") as client:
# Send a transactional email
email = SendEmail(
to="recipient@example.com",
subject="Hello from IndiePitcher!",
body="This is a **markdown** email sent via the IndiePitcher Python SDK.",
body_format=EmailBodyFormat.MARKDOWN
)
response = await client.send_email(email)
return response.success
# Run in an async context
success = asyncio.run(send_email_example())
print(f"Email sent successfully: {success}")
The async client supports all the same methods as the synchronous client, but requires the await
keyword and should be used within an async context.
For fast dependency installation, we recommend using UV:
# Install UV if you don't have it
pip install uv
# Create a virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
# Run tests
uv run pytest
# Run tests
pytest
MIT
FAQs
Python SDK for IndiePitcher
We found that indiepitcher 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
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.