PyDOGE API is an advanced, Python wrapper for interacting with the public-facing API of the Department of Government Efficiency (DOGE)
Project description
A Python library to interact with Department of Government Efficiency (DOGE) API.
🧾 Table of Contents
🐍 About The Project
PyDOGE API is an advanced, Python wrapper for interacting with the public-facing API of the Department of Government Efficiency (DOGE) — a federal initiative aimed at increasing transparency and fiscal accountability by sharing detailed datasets on:
- 💸 Cancelled grants
- 📑 Contract terminations
- 🏢 Lease reductions
- 🧾 Payment transactions
🚀 Features
- Auto-pagination (sync or async, fetch all pages if needed)
.export()
to CSV, Excel, or JSON with timestamped filenames.to_dataframe()
for Pandas users.summary()
with analytics (rows, nulls, dtypes, stats)summary(save_as="...")
for file logging- Returns Pydantic models & dict output
- Retry-safe client with 429 handling
This package enables data scientists and analysts to programmatically access and analyze the data with ease.
📌 Getting Started
Installation
Install:
pip install pydoge-api
Upgrade:
pip install --upgrade pydoge-api
Documentation
Full developer docs with API reference, usage, and model schema:
📚 Usage
Synchronous Fetching
from pydoge_api import DogeAPI
api = DogeAPI(
fetch_all=True, # get all pages
output_pydantic=False, # dict output
handle_response=True, # parse response
run_async=False # ← synchronous mode
)
# Grants sorted by savings
grants = api.savings.get_grants(sort_by="savings")
# Filter payments by agency
payments = api.payments.get_payments(filter="agency", filter_value="NASA")
# Export to CSV
grants.export("grants_q1", format="csv")
# Show summary in terminal
grants.summary(verbose=True)
# Save the summary as markdown
grants.summary(save_as="logs/grants_summary.md")
Asynchronous Pagination
api = DogeAPI(
fetch_all=True,
output_pydantic=True,
handle_response=True,
run_async=True # ← enable async parallel fetch
)
grants = api.savings.get_grants(sort_by="value")
print(grants.meta.total_results)
# Export to Excel
grants.export("grants_report", format="xlsx")
👪 Contributors
All contributions are welcome. If you have a suggestion that would make this better, please fork the repo and create a merge request. You can also simply open an issue with the label 'enhancement'.
Don't forget to give the project a star! Thanks again!
👏 Acknowledgments
Inspiration, code snippets, etc.
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
Built Distribution
File details
Details for the file pydoge_api-0.1.2.tar.gz
.
File metadata
- Download URL: pydoge_api-0.1.2.tar.gz
- Upload date:
- Size: 501.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ccd1d710dcd4afd72c65fe5494dd941231327a626eeca54a3f7b17e82aac7f56
|
|
MD5 |
55ea0e9d6400036f1e592a1973b895e7
|
|
BLAKE2b-256 |
914ec7f23957c58f0d6569846141345c8beceecb0c147bcbafeb14a8d69f3ddd
|
File details
Details for the file pydoge_api-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: pydoge_api-0.1.2-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2dcb57d8d679064084d2fd910cc83813dc037590eca7ca176afc51d6d1e30980
|
|
MD5 |
428df4546f1c0f28001edb118dc895c5
|
|
BLAKE2b-256 |
48bf2209dd6674c391a4e0ecea6110f5ebd455bb245158dba81f9d8e201505bb
|