{"repo":"pittcsc/PittAPI","free":true,"listed":false,"github":"https://github.com/pittcsc/PittAPI","clone":"git clone https://github.com/pittcsc/PittAPI.git","description":"An API to easily get data from the University of Pittsburgh","language":"HTML","stars":115,"topics":["pittsburgh","university","universityofpittsburgh","open-data","python","scraper"],"license":"GPL-2.0","category":"scrapers-browser-automation","readme_excerpt":"Pitt API PittAPI is an unofficial Python library for public data from the University of Pittsburgh and related services. Version 2.0 provides synchronous service clients and immutable, typed result models. Installation PittAPI requires Python 3.13. Add it to a uv-managed project with: Client basics Each data source has its own client. A client accepts an optional requests.Session and a timeout in seconds. When PittAPI creates the session, using the client as a context manager closes it automatically: An injected session remains owned by the caller and is not closed by PittAPI. All structured results are frozen, slotted dataclasses. Nested collections are tuples, so callers cannot accidentally change a response after it is returned. Examples Services whose available resources change over time provide discovery methods: Network and HTTP failures remain standard requests exceptions. Invalid arguments or malformed provider responses raise ValueError ; a valid lookup with no matching entity raises LookupError . Users upgrading from PittAPI 1.x should read the 2.0 migration guide. Development Install the locked Python 3.13 development environment and run the full validation suite: See the contributing guidelines for the project’s readability and testing expectations. License PittAPI is licensed under the GPLv2.","default_branch":null,"files":null,"tree":[],"storefront":"/r/pittcsc","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pittcsc/PittAPI/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}