penify-cli


Namepenify-cli JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/SingularityX-ai/penify-cli
SummaryA penify cli tool to generate Documentation, Commit-summary and Hooks to automate git workflows.
upload_time2024-10-21 03:06:41
maintainerNone
docs_urlNone
authorSuman Saurabh
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Penify CLI

Penify CLI is a command-line tool for managing Git hooks, generating documentation, and streamlining the development workflow. It provides functionality to install and uninstall Git post-commit hooks, generate documentation for files or folders, perform Git commits with automated message generation, and manage authentication.

## Installation

You can install Penify CLI using pip:

```bash
pip install penify-cli
```

## Usage

Penify CLI provides several subcommands for different functionalities:

### Login

To log in and obtain an API token:

```bash
penify-cli login
```

This command will open a browser window for authentication. After successful login, the API key will be saved locally for future use.

### Install Git Hook

To install the Git post-commit hook:

```bash
penify-cli install-hook -l /path/to/git/repo
```

- `-l, --location`: The path to the Git repository where you want to install the hook.

### Uninstall Git Hook

To uninstall the Git post-commit hook:

```bash
penify-cli uninstall-hook -l /path/to/git/repo
```

- `-l, --location`: The path to the Git repository from which you want to uninstall the hook.

### Generate Documentation

To generate documentation for files or folders:

```bash
penify-cli doc-gen [options]
```

Options:
- `-fl, --file_path`: Path to a specific file for which to generate documentation.
- `-cf, --complete_folder_path`: Path to a folder for which to generate documentation for all files.
- `-gf, --git_folder_path`: Path to a Git repository to generate documentation for modified files. Defaults to the current directory.

### Commit Code

To commit code with an automatically generated commit message:

```bash
penify-cli commit -gf /path/to/git/repo [-m "Optional message"] [-e True/False]
```

- `-gf, --git_folder_path`: Path to the Git repository. Defaults to the current directory.
- `-m, --message`: Optional commit message. If not provided, a default message will be used.
- `-e, --terminal`: Set to "True" to open the terminal for editing the commit message. Defaults to "False".

## Authentication

Penify CLI uses an API token for authentication. The token is obtained and used in the following priority:

1. Command-line argument: `-t` or `--token`
2. Environment variable: `PENIFY_API_TOKEN`
3. Stored credentials: `~/.penify` file (created after successful login)

If no token is available, you'll be prompted to log in or provide a token.

## Environment Variables

- `PENIFY_API_TOKEN`: You can set this environment variable with your API token to avoid passing it as an argument each time.

## Development

To set up the development environment:

1. Clone the repository:
   ```bash
   git clone https://github.com/SingularityX-ai/penify-cli.git
   ```

2. Install the package in editable mode:
   ```bash
   pip install -e .
   ```

## License

This project is licensed under the MIT License.

## Author

Suman Saurabh (ss.sumansaurabh92@gmail.com)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Issues

If you encounter any problems or have suggestions, please file an issue on the [GitHub repository](https://github.com/SingularityX-ai/penify-cli/issues).

## Support

For automated API Documentation, Architecture Documentation, Code Documentation, Pull Request Documentation, or if you need a demo, please join our [Discord support channel](https://discord.gg/wqrc8JeV).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/SingularityX-ai/penify-cli",
    "name": "penify-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Suman Saurabh",
    "author_email": "ss.sumansaurabh92@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/1a/d7/ea4a7d39c08fe11b897bacb917eb87d4777e5cc0c556e40a8e30aa0ca408/penify_cli-0.1.5.tar.gz",
    "platform": null,
    "description": "# Penify CLI\n\nPenify CLI is a command-line tool for managing Git hooks, generating documentation, and streamlining the development workflow. It provides functionality to install and uninstall Git post-commit hooks, generate documentation for files or folders, perform Git commits with automated message generation, and manage authentication.\n\n## Installation\n\nYou can install Penify CLI using pip:\n\n```bash\npip install penify-cli\n```\n\n## Usage\n\nPenify CLI provides several subcommands for different functionalities:\n\n### Login\n\nTo log in and obtain an API token:\n\n```bash\npenify-cli login\n```\n\nThis command will open a browser window for authentication. After successful login, the API key will be saved locally for future use.\n\n### Install Git Hook\n\nTo install the Git post-commit hook:\n\n```bash\npenify-cli install-hook -l /path/to/git/repo\n```\n\n- `-l, --location`: The path to the Git repository where you want to install the hook.\n\n### Uninstall Git Hook\n\nTo uninstall the Git post-commit hook:\n\n```bash\npenify-cli uninstall-hook -l /path/to/git/repo\n```\n\n- `-l, --location`: The path to the Git repository from which you want to uninstall the hook.\n\n### Generate Documentation\n\nTo generate documentation for files or folders:\n\n```bash\npenify-cli doc-gen [options]\n```\n\nOptions:\n- `-fl, --file_path`: Path to a specific file for which to generate documentation.\n- `-cf, --complete_folder_path`: Path to a folder for which to generate documentation for all files.\n- `-gf, --git_folder_path`: Path to a Git repository to generate documentation for modified files. Defaults to the current directory.\n\n### Commit Code\n\nTo commit code with an automatically generated commit message:\n\n```bash\npenify-cli commit -gf /path/to/git/repo [-m \"Optional message\"] [-e True/False]\n```\n\n- `-gf, --git_folder_path`: Path to the Git repository. Defaults to the current directory.\n- `-m, --message`: Optional commit message. If not provided, a default message will be used.\n- `-e, --terminal`: Set to \"True\" to open the terminal for editing the commit message. Defaults to \"False\".\n\n## Authentication\n\nPenify CLI uses an API token for authentication. The token is obtained and used in the following priority:\n\n1. Command-line argument: `-t` or `--token`\n2. Environment variable: `PENIFY_API_TOKEN`\n3. Stored credentials: `~/.penify` file (created after successful login)\n\nIf no token is available, you'll be prompted to log in or provide a token.\n\n## Environment Variables\n\n- `PENIFY_API_TOKEN`: You can set this environment variable with your API token to avoid passing it as an argument each time.\n\n## Development\n\nTo set up the development environment:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/SingularityX-ai/penify-cli.git\n   ```\n\n2. Install the package in editable mode:\n   ```bash\n   pip install -e .\n   ```\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Author\n\nSuman Saurabh (ss.sumansaurabh92@gmail.com)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Issues\n\nIf you encounter any problems or have suggestions, please file an issue on the [GitHub repository](https://github.com/SingularityX-ai/penify-cli/issues).\n\n## Support\n\nFor automated API Documentation, Architecture Documentation, Code Documentation, Pull Request Documentation, or if you need a demo, please join our [Discord support channel](https://discord.gg/wqrc8JeV).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A penify cli tool to generate Documentation, Commit-summary and  Hooks to automate git workflows.",
    "version": "0.1.5",
    "project_urls": {
        "Homepage": "https://github.com/SingularityX-ai/penify-cli"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a386dc5388c8606bdea7fdc301ad2f1097a89ef96bb1fa1015d889c9fa70d19",
                "md5": "5ac79d94ba462626444f638385f2fc84",
                "sha256": "f30831fb0f94f576e8254243d1e406ec8343755056c5eec2b827d1751f555e13"
            },
            "downloads": -1,
            "filename": "penify_cli-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5ac79d94ba462626444f638385f2fc84",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 15759,
            "upload_time": "2024-10-21T03:06:39",
            "upload_time_iso_8601": "2024-10-21T03:06:39.907011Z",
            "url": "https://files.pythonhosted.org/packages/9a/38/6dc5388c8606bdea7fdc301ad2f1097a89ef96bb1fa1015d889c9fa70d19/penify_cli-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ad7ea4a7d39c08fe11b897bacb917eb87d4777e5cc0c556e40a8e30aa0ca408",
                "md5": "af73da925242f435dce5a6d6fe1146c3",
                "sha256": "450ccadb85eb0298b047b842efcb45e788446f479cc235ab557e3b554b60fc4d"
            },
            "downloads": -1,
            "filename": "penify_cli-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "af73da925242f435dce5a6d6fe1146c3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 12203,
            "upload_time": "2024-10-21T03:06:41",
            "upload_time_iso_8601": "2024-10-21T03:06:41.039769Z",
            "url": "https://files.pythonhosted.org/packages/1a/d7/ea4a7d39c08fe11b897bacb917eb87d4777e5cc0c556e40a8e30aa0ca408/penify_cli-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-21 03:06:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SingularityX-ai",
    "github_project": "penify-cli",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "penify-cli"
}
        
Elapsed time: 0.47527s