Learnify
Learnify is a Python package that helps software developers improve their learning strategies by analyzing self‑reported learning habits, goals, and challenges. Provide a description of your current learning routine (time management, resources, difficulties, etc.) and receive structured, actionable feedback with personalized recommendations.
Features
- Parses free‑form text about learning habits.
- Returns a clear, consistent, markdown‑formatted response with:
- Effective learning techniques
- Common pitfalls to avoid
- Tips for optimizing study routines
- Works out‑of‑the‑box with the default ChatLLM7 model.
- Fully compatible with any LangChain‑compatible LLM (OpenAI, Anthropic, Google, …).
Installation
pip install learnify
Quick Start
from learnify import learnify
user_input = """
I usually study Python for about 1 hour each evening, but I often get distracted by
notifications. I read documentation and watch YouTube tutorials, but I never write
code projects. I feel stuck when trying to learn advanced topics like concurrency.
"""
# Use the default ChatLLM7 model (API key taken from env var LLM7_API_KEY)
response = learnify(user_input)
print(response) # -> List of strings with the structured feedback
Advanced Usage – Plug in Your Own LLM
You can supply any LangChain LLM instance instead of the default ChatLLM7.
OpenAI
from langchain_openai import ChatOpenAI
from learnify import learnify
llm = ChatOpenAI(model="gpt-4o") # configure as you like
response = learnify(user_input, llm=llm)
Anthropic
from langchain_anthropic import ChatAnthropic
from learnify import learnify
llm = ChatAnthropic(model_name="claude-3-5-sonnet")
response = learnify(user_input, llm=llm)
Google Gemini
from langchain_google_genai import ChatGoogleGenerativeAI
from learnify import learnify
llm = ChatGoogleGenerativeAI(model="gemini-1.5-pro")
response = learnify(user_input, llm=llm)
Parameters
| Parameter | Type | Description |
|---|---|---|
user_input |
str |
The free‑form text describing the developer's learning habits, goals, and challenges. |
llm |
Optional[BaseChatModel] |
A LangChain LLM instance to use. If omitted, ChatLLM7 is created automatically. |
api_key |
Optional[str] |
API key for LLM7. If not provided, the function tries to read LLM7_API_KEY from the environment. |
LLM7 Default Model
- Package:
langchain_llm7–https://pypi.org/project/langchain-llm7/ - Free‑tier rate limits are sufficient for typical usage.
- To obtain a free API key, register at: https://token.llm7.io/
You can also pass a custom key:
response = learnify(user_input, api_key="YOUR_LLM7_API_KEY")
License
This project is licensed under the MIT License.
Author
- Eugene Evstafev – hi@eugene.plus
Repository & Support
Feel free to open an issue for bugs, feature requests, or questions. Happy learning!
Metadata
Release files for learnify 2025.12.21123742
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| learnify-2025.12.21123742.tar.gz | 4.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| learnify-2025.12.21123742-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.0 kB
Release files / learnify-2025.12.21123742.tar.gz
| Download URL | learnify-2025.12.21123742.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67ede2890bfdc9ddeb924969564e6767925e4ac8a5a4d4298c13bfe73ce184b4
|
|
BLAKE2b-256 checksum How to use checksums |
79699d791e8f31f98e52721b2b854d9516166be6a87f9e757ec047b48daef880
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|
Release files / learnify-2025.12.21123742-py3-none-any.whl
| Download URL | learnify-2025.12.21123742-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ffdb3112df85e7abd9250f69f0d1f4a02a03f6701cb4253af622fca102107fb
|
|
BLAKE2b-256 checksum How to use checksums |
c28ae5f6d8da529a6c9865a29d93794fa22f1cebed0453669a0eca748f2edc7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|