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!

Installation

pip install fennel-invest-api

Usage: Logging In

from fennel_invest_api import Fennel

fennel = Fennel()
fennel.login(
    email="your-email@email.com",
    wait_for_2fa=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_2fa=False, catch the 2FA exception, then call it again with the 2FA code:

fennel.login(
    email="your-email@email.com",
    wait_for_2fa=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 accounts
full_portfolio = fennel.get_full_accounts()
print(full_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,
    symbol="AAPL",
    quantity=1,
    side="buy", # Must be "buy" or "sell"
    price="market" # Only market orders are supported for now
)
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.0.8.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fennel_invest_api-1.0.8-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fennel_invest_api-1.0.8.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for fennel_invest_api-1.0.8.tar.gz
Algorithm Hash digest
SHA256 111ce1fec1d6442b3de1b7afc3715afce3f7b186170caa8d9c958d8dcafbacf0
MD5 ad0d4bc35a03ee33f58f13da7ddb1c59
BLAKE2b-256 fd973d6648b489bce98852403d8197d62767958a741fbeabbe6798a88aa62948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fennel_invest_api-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f2361f28d411ae6dd086600631d42effe42e60ee172d48dabd57e8e3c708fdf3
MD5 1c0ebc1233c4e5ce7a96c08faeffab04
BLAKE2b-256 47ec8c48c0be7355a27e054afddaf53ef3e93c997fa1de7f4cc5dad8eb482dda

See more details on using hashes here.

Supported by

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