A terminal-based flashcard system.
Project description
Flashcard CLI - Your Terminal-Based Learning Companion
Flashcard CLI is a powerful and versatile command-line tool designed to help you learn and memorize information effectively using flashcards. Whether you're a student, a professional, or simply someone who enjoys learning, Flashcard CLI provides a convenient and engaging way to study and review your knowledge.
Key Features
- Easy to Use: Simple and intuitive command-line interface.
- Customizable: Create and manage your own flashcard decks.
- Interactive Learning: Engaging learning sessions with performance tracking.
- Terminal-Based: Study without distractions, right in your terminal.
Installation
pip install flashcard-cli
(Image: Screenshot of the installation process)
Usage
Adding Flashcards
flashcard add
This command will prompt you to enter a question and answer for your flashcard. The flashcard will be saved to flashcards.json by default.
Starting a Learning Session
flashcard start
This command will start a learning session, presenting each flashcard in a visually appealing card-like panel. The system will wait for you to press Enter to reveal the answer, then ask if you got it right. After all flashcards, it will show a summary of your performance.
Other Commands
flashcard list: List all flashcards in the current deck.flashcard edit <id>: Edit a specific flashcard,flashcard delete <id>: Delete a specific flashcard,flashcard import <file>: Import flashcards from a JSON file.flashcard export <file>: Export flashcards to a JSON file.
Configuration
Flashcard CLI stores flashcards in a JSON file (flashcards.json by default). You can customize the location of this file by setting the FLASHCARD_DB environment variable.
Troubleshooting
- Flashcards not loading: Ensure that the
flashcards.jsonfile exists and is in the correct format. - Command not found: Make sure that the Flashcard CLI is installed correctly and that the
flashcardcommand is in your system's PATH.
Development
To install in editable mode:
pip install -e .
To run the application directly:
python -m flashcard_cli.main
Publishing to PyPI
To publish the package to PyPI, you need to build the package and then upload it to PyPI.
Build the Package
python -m build
This will create a dist directory with the built package.
Upload to PyPI
twine upload dist/*
Note: You will need to have twine installed (pip install twine) and have a PyPI account.
GitHub Workflow for PyPI Release
To automate the release process to PyPI, you can set up a GitHub workflow. See .github/workflows/release.yml for the workflow configuration.
Note:
- You will need to configure a PyPI API token as a secret in your GitHub repository settings.
Contributing
Contributions are welcome! Please submit a pull request with your changes.
License
This project is licensed under the MIT License.
Note: Replace the "(Image: ...)" placeholders with actual image links or references in your README file. You can store the images in a separate "images" folder and link to them from the README.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flashcard_cli-0.0.1.tar.gz.
File metadata
- Download URL: flashcard_cli-0.0.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cc0cb7f7cde83a902f6d3c8da002ab53c8a0fdc15d8128335f6b66b34ee8eb4
|
|
| MD5 |
519ac9a2e95a06416b5ca5754471912c
|
|
| BLAKE2b-256 |
946552b45461a1f8f966cd8ad68377a0848eac6f131cc7963873fd2b8b5bce43
|
File details
Details for the file flashcard_cli-0.0.1-py3-none-any.whl.
File metadata
- Download URL: flashcard_cli-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
542044cbed99e4def97bceab84b0c0509df028b59818419c08888e1fbca90a2a
|
|
| MD5 |
d5da0542f8de59a8b74d282b562043bc
|
|
| BLAKE2b-256 |
59c1712c046da9c665e930a746e75c14f98283bdf4188d59db3ec6424d114d66
|