# Fellow Aiden
[![PyPI version](https://badge.fury.io/py/fellow-aiden.svg)](https://badge.fury.io/py/fellow-aiden)
This library provides an interface to the Fellow Aiden coffee brewer. An additional brew studio UI with support for AI-generated recipes is also included. You can run the Brew Studio locally on your system or make use of the hosted version: [https://fellow-brew-studio.streamlit.app/](https://fellow-brew-studio.streamlit.app/)
![Fellow Brew Studio](https://github.com/9b/fellow-aiden/blob/master/brew_studio/fellow-brew-studio.png?raw=true)
## Quick Start
**Install the library**:
```sh
pip install fellow-aiden
# or
python setup.py install
```
**Set ENV variables**:
```sh
export FELLOW_EMAIL='YOUR-EMAIL-HERE'
export FELLOW_PASSWORD='YOUR-PASSWORD-HERE'
```
## Sample Code
This sample code shows some of the range of functionality within the library:
```python
import os
from fellow_aiden import FellowAiden
# EMAIL = "YOUR-EMAIL-HERE"
# PASSWORD = "YOUR-PASSWORD-HERE"
EMAIL = os.environ['FELLOW_EMAIL']
PASSWORD = os.environ['FELLOW_PASSWORD']
# Create an instance
aiden = FellowAiden(EMAIL, PASSWORD)
# Get display name of brewer
name = aiden.get_display_name()
# Get profiles
profiles = aiden.get_profiles()
# Add a profile
profile = {
"profileType": 0,
"title": "Debug-FellowAiden",
"ratio": 16,
"bloomEnabled": True,
"bloomRatio": 2,
"bloomDuration": 30,
"bloomTemperature": 96,
"ssPulsesEnabled": True,
"ssPulsesNumber": 3,
"ssPulsesInterval": 23,
"ssPulseTemperatures": [96,97,98],
"batchPulsesEnabled": True,
"batchPulsesNumber": 2,
"batchPulsesInterval": 30,
"batchPulseTemperatures": [96,97]
}
aiden.create_profile(profile)
# Find profile
pid = None
option = aiden.get_profile_by_title('FellowAiden', fuzzy=True)
if option:
pid = option['id'] # p0
# Share a profile
share_link = aiden.generate_share_link(pid)
# Delete a profile
aiden.delete_profile_by_id(pid)
# Add profile from shared brew link
aiden.create_profile_from_link('https://brew.link/p/ws98')
```
## Profile Details
Below is an example profile:
```json
[{
"id": "p0",
"profileType": 0,
"title": "Hot Water",
"ratio": 15,
"bloomRatio": null,
"bloomDuration": null,
"bloomTemperature": null,
"ssPulsesNumber": 1,
"ssPulsesInterval": 1,
"ssPulseTemperatures": [99],
"batchPulsesNumber": 1,
"batchPulsesInterval": 5,
"batchPulseTemperatures": [99],
"overallTemperature": null,
"isDefaultProfile": false,
"bloomEnabled": false,
"instantBrew": false,
"folder": "Custom",
"duration": null,
"lastGBQuantity": null,
"lastUsedTime": null,
"deviceId": "FB_02c4139a-50c6-f4ce-363b-6f9e1840307e",
"ssPulsesEnabled": true,
"batchPulsesEnabled": true,
"synced": true
}]
```
## Features
* Access all settings and details from Aiden brewer
* Manage custom brewing profiles
* Add shared profiles from URL
* Generate share links from custom profiles
* Search profiles using title (match and fuzzy)
* Brew Studio UI with support for AI, Brew Links and Profile adjustments
Raw data
{
"_id": null,
"home_page": "https://github.com/9b/fellow-aiden",
"name": "fellow-aiden",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "coffee, coffee brewer, fellow, coffee tech",
"author": "Brandon Dixon",
"author_email": "brandon@9bplus.com",
"download_url": null,
"platform": null,
"description": "# Fellow Aiden\n\n[![PyPI version](https://badge.fury.io/py/fellow-aiden.svg)](https://badge.fury.io/py/fellow-aiden)\n\nThis library provides an interface to the Fellow Aiden coffee brewer. An additional brew studio UI with support for AI-generated recipes is also included. You can run the Brew Studio locally on your system or make use of the hosted version: [https://fellow-brew-studio.streamlit.app/](https://fellow-brew-studio.streamlit.app/)\n\n![Fellow Brew Studio](https://github.com/9b/fellow-aiden/blob/master/brew_studio/fellow-brew-studio.png?raw=true)\n\n## Quick Start\n\n**Install the library**:\n\n```sh\npip install fellow-aiden\n# or\npython setup.py install\n```\n\n**Set ENV variables**:\n\n```sh\nexport FELLOW_EMAIL='YOUR-EMAIL-HERE'\nexport FELLOW_PASSWORD='YOUR-PASSWORD-HERE'\n```\n\n## Sample Code\n\nThis sample code shows some of the range of functionality within the library:\n\n```python\nimport os\nfrom fellow_aiden import FellowAiden\n\n# EMAIL = \"YOUR-EMAIL-HERE\"\n# PASSWORD = \"YOUR-PASSWORD-HERE\"\n\nEMAIL = os.environ['FELLOW_EMAIL']\nPASSWORD = os.environ['FELLOW_PASSWORD']\n\n# Create an instance\naiden = FellowAiden(EMAIL, PASSWORD)\n\n# Get display name of brewer\nname = aiden.get_display_name()\n\n# Get profiles\nprofiles = aiden.get_profiles()\n\n# Add a profile\nprofile = {\n \"profileType\": 0,\n \"title\": \"Debug-FellowAiden\",\n \"ratio\": 16,\n \"bloomEnabled\": True,\n \"bloomRatio\": 2,\n \"bloomDuration\": 30,\n \"bloomTemperature\": 96,\n \"ssPulsesEnabled\": True,\n \"ssPulsesNumber\": 3,\n \"ssPulsesInterval\": 23,\n \"ssPulseTemperatures\": [96,97,98],\n \"batchPulsesEnabled\": True,\n \"batchPulsesNumber\": 2,\n \"batchPulsesInterval\": 30,\n \"batchPulseTemperatures\": [96,97]\n}\naiden.create_profile(profile)\n\n# Find profile\npid = None\noption = aiden.get_profile_by_title('FellowAiden', fuzzy=True)\nif option:\n pid = option['id'] # p0\n\n# Share a profile\nshare_link = aiden.generate_share_link(pid)\n\n# Delete a profile\naiden.delete_profile_by_id(pid)\n\n# Add profile from shared brew link\naiden.create_profile_from_link('https://brew.link/p/ws98')\n```\n\n## Profile Details\n\nBelow is an example profile:\n\n```json\n[{\n \"id\": \"p0\",\n \"profileType\": 0,\n \"title\": \"Hot Water\",\n \"ratio\": 15,\n \"bloomRatio\": null,\n \"bloomDuration\": null,\n \"bloomTemperature\": null,\n \"ssPulsesNumber\": 1,\n \"ssPulsesInterval\": 1,\n \"ssPulseTemperatures\": [99],\n \"batchPulsesNumber\": 1,\n \"batchPulsesInterval\": 5,\n \"batchPulseTemperatures\": [99],\n \"overallTemperature\": null,\n \"isDefaultProfile\": false,\n \"bloomEnabled\": false,\n \"instantBrew\": false,\n \"folder\": \"Custom\",\n \"duration\": null,\n \"lastGBQuantity\": null,\n \"lastUsedTime\": null,\n \"deviceId\": \"FB_02c4139a-50c6-f4ce-363b-6f9e1840307e\",\n \"ssPulsesEnabled\": true,\n \"batchPulsesEnabled\": true,\n \"synced\": true\n}]\n```\n\n## Features\n\n* Access all settings and details from Aiden brewer\n* Manage custom brewing profiles\n* Add shared profiles from URL\n* Generate share links from custom profiles\n* Search profiles using title (match and fuzzy)\n* Brew Studio UI with support for AI, Brew Links and Profile adjustments\n\n\n",
"bugtrack_url": null,
"license": "GNUV3",
"summary": "Interface for interacting with Fellow Aiden coffee brewer",
"version": "0.1.7",
"project_urls": {
"Homepage": "https://github.com/9b/fellow-aiden"
},
"split_keywords": [
"coffee",
" coffee brewer",
" fellow",
" coffee tech"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5d67e1dd7e4db935cb0b005ed746dbd427a70171853fb4c2d7f1bd7714159c8d",
"md5": "d84b4258549c8077703d90457114685c",
"sha256": "a251e1e4630140a0e6ca96538decacfdaa80b4d2d1ada3f17f7a6a2d2ce762e6"
},
"downloads": -1,
"filename": "fellow_aiden-0.1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d84b4258549c8077703d90457114685c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23957,
"upload_time": "2025-01-26T13:03:15",
"upload_time_iso_8601": "2025-01-26T13:03:15.666153Z",
"url": "https://files.pythonhosted.org/packages/5d/67/e1dd7e4db935cb0b005ed746dbd427a70171853fb4c2d7f1bd7714159c8d/fellow_aiden-0.1.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-26 13:03:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "9b",
"github_project": "fellow-aiden",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "annotated-types",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.12.14"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.1"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.10.4"
]
]
},
{
"name": "pydantic_core",
"specs": [
[
"==",
"2.27.2"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.3"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"75.1.0"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"==",
"4.12.2"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.3.0"
]
]
},
{
"name": "wheel",
"specs": [
[
"==",
"0.44.0"
]
]
},
{
"name": "fellow-aiden",
"specs": [
[
"==",
"0.1.7"
]
]
},
{
"name": "openai",
"specs": [
[
"==",
"1.59.8"
]
]
}
],
"lcname": "fellow-aiden"
}