Python bindings to CrunchBase
Project description
Python bindings to CrunchBase
Examples
# initialize the API using your API Key, will throw ValueError if missing cb = CrunchBase(API_KEY) # look up an organization by name github = cb.organization('github') # the response contains snippets of data regarding relationships # that the organization has, an example is the funding_rounds funding_rounds_summary = github.funding_rounds # all relationships are paged, and only 8 is returned initially # to get more data do this, it handles paging for you # and returns a False-y value if there are no more pages more_funding_rounds = cb.more(funding_rounds_summary) # data in relations are just summaries, and you probably want more details # For example funding_rounds returns 5 values: type, name, path # created_at, updated_at. # If you actually want to know who invested, you have to get to make # more API calls # first get the uuid of the round round_uuid = funding_rounds_summary[0].uuid # then use the CrunchBase API to make that call round = cb.funding_round(round_uuid) # again, investments is a relationship on a FundingRound, # so we can get the first item in that relationship an_investor = round.investments[0] # a InvestorInvestmentPageItem # and printing that gives us the name of the investor, and the amount # invested in USD print(str(an_investor)) # prints: Investor Name $100000
Installation
pip install pycrunchbase
Documentation
Development
To run the all tests run:
tox
Contributions are always welcome!
Use GitHub issues to report a bug or send feedback.
The best way to send feedback is to file an issue at https://github.com/ngzhian/pycrunchbase/issues.
Goals
Support all (or almost all) of CrunchBase’s API functionalities
Speedy updates when CrunchBase’s API changes
‘Pythonic’ bindings, user doesn’t feel like we’re requesting URLs
TODO
Support other nodes (IPO, FundRaise)
Coerce values in relationships page item to python types (datetime)
Document our usage of returning None vs NonePageItem or NoneRelationship
raise error when requests fails
abstract out a search result on organizations/
License
MIT
Changelog
0.1.5 (2015-02-13)
Add a cb_url attribute for all PageItem, this url is a CrunchBase page (not the API) that holds more information for a particular PageItem Allows you to make calls like:
company.funding_rounds[0].cb_url
to get the url of the page for the first funding round of company.
A new page item, InvestorInvestmentPageItem, that is useful for FundingRound info:
round = cb.funding_round('round_uuid') an_investor = round.investments[0] # a InvestorInvestmentPageItem print(str(an_investor)) # prints: Investor Name $100000
Add simplified Contribution guidelines in README
0.1.4 (2015-02-13)
Relationship retrieval is 0-based now, 1-based just doesn’t fit well with array
Better __str__ for Node and Relationship
Relationship.get(i) if i is too large or small will return a NonePageItem singleton
0.1.3 (2015-02-12)
Fix Relationship: wasn’t using the right build method of PageItem
Add test to checkk for the above
remove unused reference to CrunchBase in Relationship
0.1.2 (2015-02-12)
PageItem and it’s subclasses to represent an item within a relationship of a Node
Cleanup of where utility methods live (parse_date)
More tests as always, overall 98.21% coverage
0.1.0 (2015-02-21)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
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
Hashes for pycrunchbase-0.1.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 074def9ec1deec59dbdcf5a12f4c7c1435bf0a3010993d6a55d1a0b49e933123 |
|
MD5 | d1efa072e996bcbb9eced57f60b1e45f |
|
BLAKE2b-256 | e80b80dfef8f248943fc88480577d965a04230f0a6e758f68a8a3790e93828b8 |