Skip to main content

Python SDK for 1ClickImpact API

Project description

🌱 MakeImpact Python SDK

PyPI version License: MIT Python

Official Python SDK for 1ClickImpact - Easily integrate impact actions into your Python applications

📦 Installation

pip install makeimpact
# or
poetry add makeimpact

🚀 Getting Started

You'll need an API key to use this SDK. You can get your API key from the 1ClickImpact Account API Keys page.

from makeimpact import OneClickImpact, Environment

# Initialize the SDK with your API key (production environment by default)
sdk = OneClickImpact("your_api_key")

# Create environmental impact with just a few lines of code
sdk.plant_tree(amount=1)
sdk.clean_ocean(amount=5)
sdk.capture_carbon(amount=2)

🌍 Environmental Impact Actions

🌳 Plant Trees

Help combat deforestation and climate change by planting trees.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Plant a single tree
sdk.plant_tree(amount=1)

# Plant trees with a specific category
sdk.plant_tree(amount=10, category="food")

# Plant trees with customer tracking
sdk.plant_tree(
    amount=5,
    customer_email="customer@example.com",
    customer_name="John Doe"
)

🌊 Clean Ocean Plastic

Remove plastic waste from our oceans to protect marine life.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Clean 5 pounds of ocean plastic
sdk.clean_ocean(amount=5)

# Clean ocean plastic with customer tracking
sdk.clean_ocean(
    amount=10,
    customer_email="customer@example.com",
    customer_name="John Doe"
)

♻️ Capture Carbon

Reduce greenhouse gas emissions by capturing carbon.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Capture 2 pounds of carbon
sdk.capture_carbon(amount=2)

# Capture carbon with customer tracking
sdk.capture_carbon(
    amount=5,
    customer_email="customer@example.com",
    customer_name="John Doe"
)

💰 Donate Money

Support any cause through direct monetary donations.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Donate $1.00 (amount in cents)
sdk.donate_money(amount=100)

# Donate with customer tracking
sdk.donate_money(
    amount=500,  # $5.00
    customer_email="customer@example.com",
    customer_name="John Doe"
)

Note: To set up a custom cause for donations, please contact 1ClickImpact directly. All causes must be vetted and approved to ensure they meet their standards for transparency and impact.

📊 Data Access & Reporting

Get Records

Retrieve impact records with optional filtering.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Get all records
records = sdk.get_records()

# Filter records by type
tree_records = sdk.get_records(filter_by="tree_planted")

# Filter records by date range
recent_records = sdk.get_records(
    start_date="2023-01-01",
    end_date="2023-12-31"
)

# Pagination
paginated_records = sdk.get_records(
    cursor="cursor_from_previous_response",
    limit=10
)

Get Customer Records

Retrieve records for specific customers.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Get records for a specific customer
customer_records = sdk.get_customer_records(
    customer_email="customer@example.com"
)

# Filter customer records by type
customer_tree_records = sdk.get_customer_records(
    customer_email="customer@example.com",
    filter_by="tree_planted"
)

Get Customers

Retrieve customer information.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Get all customers (default limit is 10)
customers = sdk.get_customers()

# Get customers with filtering and pagination
filtered_customers = sdk.get_customers(
    customer_email="example@email.com",  # Optional: Filter by email
    limit=50,  # Optional: Limit results (1-1000)
    cursor="cursor_from_previous_response"  # Optional: For pagination
)

Get Impact

Get aggregated impact statistics.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Get overall impact statistics for your organization
impact = sdk.get_impact()

print(f"Trees planted: {impact.tree_planted}")
print(f"Ocean waste removed: {impact.waste_removed} lbs")
print(f"Carbon captured: {impact.carbon_captured} lbs")
print(f"Money donated: ${impact.money_donated / 100}")

Who Am I

Verify your API key and get account information.

from makeimpact import OneClickImpact

sdk = OneClickImpact("your_api_key")

# Verify API key and get account information
account_info = sdk.who_am_i()

⚙️ Configuration

Environments

The SDK supports two environments:

  • Production (default): Uses the live API at https://api.1clickimpact.com
  • Sandbox: Uses the testing API at https://sandbox.1clickimpact.com

To use the sandbox environment for testing:

from makeimpact import OneClickImpact, Environment

# Initialize with sandbox environment
sdk = OneClickImpact("your_test_api_key", Environment.SANDBOX)

🔗 Additional Resources

📄 License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

makeimpact-1.1.1.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

makeimpact-1.1.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file makeimpact-1.1.1.tar.gz.

File metadata

  • Download URL: makeimpact-1.1.1.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for makeimpact-1.1.1.tar.gz
Algorithm Hash digest
SHA256 4c70eccd65a77cc59e81c860bc3cfbf88565df031a14d1059c7960658c402890
MD5 c37e6a42a3760b93f76089eee6b09079
BLAKE2b-256 c853c22091d6814aacf43e13523dfe259954cae4173866bc460e9b4f0f40f189

See more details on using hashes here.

File details

Details for the file makeimpact-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: makeimpact-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for makeimpact-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a8e9191264a69cba77f287a7e06fea702ab8b094c0c5d0eedcbf437914982bde
MD5 0ba004230a7fdbfdef4f4d7a80085199
BLAKE2b-256 3c56e6d8890780912cc85a307a883dc6102cbdaec142a8b74cca64afec598194

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page