Skip to main content

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.

alt text

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.

alt text

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.

alt text

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.json file exists and is in the correct format.
  • Command not found: Make sure that the Flashcard CLI is installed correctly and that the flashcard command 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flashcard_cli-0.0.1.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

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

flashcard_cli-0.0.1-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

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

Hashes for flashcard_cli-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3cc0cb7f7cde83a902f6d3c8da002ab53c8a0fdc15d8128335f6b66b34ee8eb4
MD5 519ac9a2e95a06416b5ca5754471912c
BLAKE2b-256 946552b45461a1f8f966cd8ad68377a0848eac6f131cc7963873fd2b8b5bce43

See more details on using hashes here.

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

Hashes for flashcard_cli-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 542044cbed99e4def97bceab84b0c0509df028b59818419c08888e1fbca90a2a
MD5 d5da0542f8de59a8b74d282b562043bc
BLAKE2b-256 59c1712c046da9c665e930a746e75c14f98283bdf4188d59db3ec6424d114d66

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