Skip to content

makegov/procurement-tools

Repository files navigation

procurement-tools

PyPI version

A handy collection of python utilities and tools to navigate federal contracting.

Features

  • UEI validation
  • Get a URL for an entity from USASpending
  • Get recent award data for an entity from USASpending
  • Lookup a FAR provision by citation
  • Get entity information from the SAM entity
  • Access innovations from the Periodic Table of Acquisition Innovations

Usage

For full documentation, head to the docs.

from procurement_tools import FAR, UEI, USASpending, PeriodicTable
print(UEI.is_valid("J7M9HPTGJ1S9"))
# True

print(USASpending.get_usaspending_URL("J7M9HPTGJ1S9"))
# 'https://www.usaspending.gov/recipient/bf1220c1-2373-042a-e8e1-33d5a29639d0-P/latest'

print(FAR.get_section("17.502-2"))
# Returns a pydantic model with the title, section number, url, and text of the section

print(PeriodicTable.get_random_innovation())
# Returns a dict with an innovation from the FAI Periodic Table of Acquisition Innovations

Additionally, we have the beginning of a SAM API client:

from procurement_tools import SAM
res = SAM.get_entity({"ueiSAM":"XRVFU3YRA2U5"})
print(res)
# Returns a pydantic model with the latest SAM data for a given Entity

CLI Usage

Out of the box, there is a simple CLI, called fargo. You can use it to do things like:

fargo sam entity [UEI]
# Dumps a json of an entity's information

fargo sam opportunities --q "machine"
# Dumps a json of active opportunities that match the keyword "machine"

fargo usaspending [UEI] --awards
# Dumps a json of an entity's 10 most recent awards (in the last 90 days)

Check out the docs for all of the CLI options

Installation

pip install procurement-tools

The SAM API client requires that the local environment variable SAM_API_KEY be set. See the SAM API Docs for information on obtaining an API key.

License

Apache 2.0

About

Python tools for navigating federal contracting

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •