Skip to main content

CongressLib

CongressLib is a Python client library for interacting with the Congress.gov API. It provides a simple and intuitive interface for retrieving legislative data such as bills, amendments, treaties, committee activities, congressional records, and more. This library is designed for researchers, developers, and anyone interested in programmatically accessing Congress.gov data.


Features

  • Retrieve lists and detailed information about:
    • Bills
    • Amendments
    • Committees
    • Communications
    • Congressional records (daily and bound)
    • Members of Congress
    • Nominations
    • Summaries
    • Treaties
  • Easily handle API authentication with your Congress.gov API key.
  • Modular design for extensibility and maintainability.

Installation

Install the package using pip:

pip install CongressLib

Or, clone the repository and install it manually:

git clone https://github.com/harryziyuhe/CongressLib.git
cd CongressLib
pip install .

Getting Started

Prerequisites

  1. Congress.gov API Key: You need an API key from Congress.gov Developer Hub.
  2. Python version 3.8 or higher.

Setup

Store your API key in an environment file (.env):

apikey=your_congress_api_key

Example Usage

from congresslib import PyCongress

# Initialize the client
client = PyCongress(apikey="your_api_key")

# Retrieve a list of bills
bills = client.bill.get_bill_list(congress=117, limit=5)
print(bills)

# Get detailed information about a specific treaty
treaty = client.treaty.get_treaty(congress=117, number=1)
print(treaty)

# Fetch amendments for a specific bill
amendments = client.amendment.get_amendment_list(congress=117, type="h", limit=10)
print(amendments)

Available Functions

Bill

  • get_bill_list: Retrieve a list of bills based on filters like Congress number, type, and date range.
  • get_bill: Get detailed information about a specific bill.
  • get_bill_actions: Retrieve a list of actions on a specific bill.
  • get_bill_amendments: Get amendments related to a specific bill.
  • get_bill_committees: Retrieve committees associated with a bill.
  • get_bill_cosponsors: Retrieve cosponsors of a specific bill.
  • get_bill_relatedbills: Get related bills.
  • get_bill_subjects: Get legislative subjects related to a bill.
  • get_bill_summaries: Get summaries for a specific bill.
  • get_bill_text: Retrieve text versions of a bill.
  • get_bill_titles: Retrieve titles of a specific bill.
  • get_law_list: Retrieve a list of laws.
  • get_law: Retrieve detailed information about a specific law.

Amendment

  • get_amendment_list: Retrieve a list of amendments.
  • get_amendment: Get detailed information about a specific amendment.
  • get_amendment_actions: Retrieve a list of actions on a specific amendment.
  • get_amendment_cosponsors: Retrieve cosponsors for a specific amendment.
  • get_amendment_amendments: Retrieve amendments to a specific amendment.
  • get_amendment_text: Retrieve text versions of an amendment (117th Congress onwards).

Committee

  • get_committee_list: Retrieve a list of congressional committees.
  • get_committee: Get detailed information about a specific committee.
  • get_committee_bills: Retrieve bills associated with a committee.
  • get_committee_reports: Retrieve reports associated with a committee.
  • get_committee_nominations: Retrieve nominations associated with a committee.
  • get_committee_communications: Retrieve communications associated with a committee.

Communication

  • get_communication_list: Retrieve a list of communications for a chamber (House or Senate).
  • get_communication: Get detailed information about a specific communication.
  • get_requirement_list: Retrieve a list of House requirements.
  • get_requirement: Get detailed information about a specific House requirement.
  • get_requirement_communications: Retrieve communications matching a House requirement.

Congress

  • get_congress_list: Retrieve a list of congresses and congressional sessions.
  • get_congress: Get detailed information about a specific Congress.

Member

  • get_member_list: Retrieve a list of congressional members.
  • get_member: Get detailed information about a specific member.
  • get_sponsored_legislation: Retrieve legislation sponsored by a member.
  • get_cosponsored_legislation: Retrieve legislation cosponsored by a member.

Nomination

  • get_nomination_list: Retrieve a list of nominations received from the President.
  • get_nomination: Get detailed information about a specific nomination.
  • get_nominees: Retrieve a list of nominees for a position within a nomination.
  • get_nomination_actions: Retrieve actions related to a nomination.
  • get_nomination_committees: Retrieve committees associated with a nomination.
  • get_nomination_hearings: Retrieve hearings associated with a nomination.

Record

  • get_record_list: Retrieve a list of congressional record issues.
  • get_daily_record_list: Retrieve daily congressional record issues.
  • get_daily_record: Retrieve a specific daily congressional record issue.
  • get_daily_record_articles: Retrieve articles from a daily congressional record issue.
  • get_bound_record_list: Retrieve a list of bound congressional records.

Summary

  • get_summary_list: Retrieve a list of summaries based on filters like Congress number, type, and date range.

Treaty

  • get_treaty_list: Retrieve a list of treaties.
  • get_treaty: Get detailed information about a specific treaty.
  • get_treaty_actions: Retrieve actions related to a treaty.
  • get_treaty_committees: Retrieve committees associated with a treaty.

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-name).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature-name).
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Acknowledgments


Contact

For questions or feedback, feel free to reach out:

Release files for CongressLib 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for CongressLib 0.1.3
File Size Uploaded
congresslib-0.1.3.tar.gz 14.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for CongressLib 0.1.3
File Interpreter ABI Platform
CongressLib-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 33.9 kB

Release files / congresslib-0.1.3.tar.gz

Download URL congresslib-0.1.3.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ae58da9c4a3a3c04d8109c96755d3dd125f006454c9f44411c79ceb705d1ec01
BLAKE2b-256 checksum
How to use checksums
a997853c86225eecb5f4506185228ba529f8b0aef6e1df12ef9351a6f19a980f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / CongressLib-0.1.3-py3-none-any.whl

Download URL CongressLib-0.1.3-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d276af2df460778a0b0065dbaaeb8015fd248a09bced82fb5e590e7f017261b1
BLAKE2b-256 checksum
How to use checksums
5fbb08e9c96e47f43daa788d162d137ccf1d94fa9e51b07391776c5d188e4683
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page