Skip to main content

Unofficial Fennel.com Invest API written in Python Requests

Project description

Unofficial Fennel Invest API

This is an unofficial API for Fennel.com. It is a simple Python wrapper around the Fennel.com GraphQL API. It is not affiliated with Fennel.com in any way.

Fennel does everything via GraphQL, so yes, this is very slow.

This is still a work in progress, so it will have bugs and missing features. Please feel free to contribute!

Important!

Do not use any version of this library before 1.0.9. Earlier versions had a bug with placing certain orders that when executed excessively could lead to your account being locked. This has been fixed in 1.0.9. See this issue

Installation

pip install 'fennel-invest-api>=1.1.0'

Usage: Logging In

from fennel_invest_api import Fennel

fennel = Fennel()
fennel.login(
    email="your-email@email.com",
    wait_for_code=True # When logging in for the first time, you need to wait for email 2FA
)

If you'd like to handle the 2FA yourself programmatically instead of waiting for input(), you can call it with wait_for_code=False, catch the 2FA exception, then call it again with the 2FA code:

fennel.login(
    email="your-email@email.com",
    wait_for_code=False
    code="123456" # Should be six-digit integer from email
)

Usage: Get Stock Holdings

account_ids = fennel.get_account_ids()
for account_id in account_ids:
    print(account_id)
    positions = fennel.get_stock_holdings(account_id)
    for position in positions:
        print(position)

Usage: Get Portfolio

# For all account IDs
portfolio = fennel.get_account_ids()
for account_id in account_ids:
    print(account_id)
    portfolio = fennel.get_portfolio_summary(account_id)
    print(portfolio)
# For a single account ID
portfolio = fennel.get_portfolio_summary(account_id)
print(portfolio)

Usage: Placing Orders

order = fennel.place_order(
    account_id=account_id,
    ticker="AAPL",
    quantity=1,
    side="buy", # Must be "buy" or "sell"
    price="market" # Only market orders are supported for now
    dry_run=False # If True, will not actually place the order
)
print(order)

Contributing

Found or fixed a bug? Have a feature request? Feel free to open an issue or pull request!

Enjoying the project? Feel free to Sponsor me on GitHub or Ko-fi!

Sponsor ko-fi

DISCLAIMER

DISCLAIMER: I am not a financial advisor and not affiliated with Fennel.com. Use this tool at your own risk. I am not responsible for any losses or damages you may incur by using this project. This tool is provided as-is with no warranty.

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

fennel_invest_api-1.2.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

fennel_invest_api-1.2.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file fennel_invest_api-1.2.0.tar.gz.

File metadata

  • Download URL: fennel_invest_api-1.2.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.9

File hashes

Hashes for fennel_invest_api-1.2.0.tar.gz
Algorithm Hash digest
SHA256 364ed340f91e1ca22d5c6cf8729ad1a06901c740f8f6c2e4e0e06526200fb618
MD5 49c4c53902b4857dd1c4e9aed51a3feb
BLAKE2b-256 ef2b86fec0d4a852d5bdc169d79892869545d9b1f7ad5ed8dbcba1266e226f2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fennel_invest_api-1.2.0.tar.gz:

Publisher: pypi_publish.yml on NelsonDane/fennel-invest-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fennel_invest_api-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fennel_invest_api-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a04bf1b2fc8e96b14d234c0c2526f34b90e5fccdcc2e8d6e3e25bc23a9ff08f
MD5 8a95c252f349083e1dd3c84f3ec95f37
BLAKE2b-256 ba13ef950e03aed6aa34b339bafef053bab595d4a2551969e81fcf78359a4ff4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fennel_invest_api-1.2.0-py3-none-any.whl:

Publisher: pypi_publish.yml on NelsonDane/fennel-invest-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page