### Cloning Repository and Installing Development Dependencies Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md These commands clone the `pymailtm` Git repository, navigate into the project directory, and then use `inv install` to set up a virtual environment and install all project dependencies. This prepares the environment for local development. ```bash git clone git@github.com:CarloDePieri/pymailtm.git cd pymailtm inv install ``` -------------------------------- ### Installing pymailtm with pip Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command installs the `pymailtm` utility globally or into the active Python environment using pip, the Python package installer. It's the simplest way to get started with the tool. ```bash pip install pymailtm ``` -------------------------------- ### Installing Development Tools Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command installs `invoke` and `poetry`, which are essential tools for managing development tasks and dependencies within the `pymailtm` project. `invoke` is used for task automation, and `poetry` for dependency management. ```bash pip install invoke poetry ``` -------------------------------- ### Installing pymailtm in a Virtual Environment Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md These commands set up a new Python virtual environment, activate it, and then install `pymailtm` within that isolated environment. This practice helps manage project dependencies without interfering with system-wide Python packages. ```bash python -m venv .venv source .venv/bin/activate pip install pymailtm ``` -------------------------------- ### Installing Development Dependencies with Specific Python Version Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command uses `invoke` to install project dependencies, explicitly specifying `python3.8` as the preferred Python version for the virtual environment. This is useful when a particular Python interpreter version is required for development. ```bash inv install -p python3.8 ``` -------------------------------- ### Running pymailtm Script in Development Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command executes the `pymailtm` script directly within the development environment using `invoke`. It allows developers to test the application's functionality without needing to install it globally. ```bash inv run ``` -------------------------------- ### Running pymailtm Utility Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command launches the `pymailtm` utility. By default, it recovers the last used account, copies it to the clipboard, and waits for new messages, opening them in a browser upon arrival. Users can exit the waiting loop by pressing `Ctrl+c`. ```bash pymailtm ``` -------------------------------- ### Testing GitHub Development Workflow with act Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command uses `act` to locally test the development GitHub Actions workflow. It simulates the CI/CD pipeline, allowing developers to verify workflow behavior before pushing changes to the repository. ```bash inv act-dev ``` -------------------------------- ### Running Full pymailtm Test Suite Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command runs the complete test suite for `pymailtm`, including tests that may require a graphical environment. It provides comprehensive coverage for the application's functionality. ```bash inv test --full ``` -------------------------------- ### Running pymailtm Test Suite with Coverage Report Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command executes the `pymailtm` test suite and generates a code coverage report. The report indicates which parts of the code are exercised by the tests, helping identify areas that need more testing. ```bash inv test-cov ``` -------------------------------- ### Running pymailtm Test Suite Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command executes the standard test suite for the `pymailtm` project using `invoke`. It's used to verify the correctness and stability of the codebase during development. ```bash inv test ``` -------------------------------- ### Running pymailtm Test Suite with Spec Output Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command runs the `pymailtm` test suite and displays the output in a spec document format. This provides a more readable and detailed view of test results, indicating which tests passed or failed. ```bash inv test-spec ``` -------------------------------- ### Running pymailtm Script with Flags in Development Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command runs the `pymailtm` script using `invoke`, passing the `-n` flag. This flag forces the creation of a new account, demonstrating how to test specific application behaviors during development. ```bash inv run -n ``` -------------------------------- ### Opening Shell in act Development Container Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command opens a shell within the `act` container used for testing the development workflow. This is useful for debugging when the workflow fails, allowing direct inspection of the container environment. ```bash inv act-dev -c shell ``` -------------------------------- ### Stopping and Deleting Failed act Development Container Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command stops and deletes a failed `act` container used for testing the development workflow. It helps clean up resources after debugging or when a test run has completed with errors. ```bash inv act-dev -c clean ``` -------------------------------- ### Clearing VCR.py Network Request Cache Source: https://github.com/carlodepieri/pymailtm/blob/master/README.md This command clears the `vcrpy` cache, which stores recorded network requests and responses for testing. Clearing the cache is necessary when network interactions or expected responses have changed and need to be re-recorded. ```bash inv clear-cassettes ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.