ManderaGeneral / generalpackager

Tools to interface GitHub, PyPI, NPM and local modules / repos. Used for generating files to keep projects dry and synced. Tailored for ManderaGeneral for now.
https://pypi.org/project/generalpackager/
Apache License 2.0
0 stars 0 forks source link
apache2-license python310 python311 python312 python38 python39 tool ubuntu windows

generalpackager

Tools to interface GitHub, PyPI, NPM and local modules / repos. Used for generating files to keep projects dry and synced. Tailored for ManderaGeneral for now.

Table of Contents

generalpackager
├─ Dependency Diagram for ManderaGeneral
├─ Installation showing dependencies
├─ Information
├─ Attributes
├─ Contributions
└─ Todo

Dependency Diagram for ManderaGeneral

```mermaid flowchart LR 0([import]) --> 3([file]) 0([import]) --> 2([library]) 1([tool]) --> 2([library]) 3([file]) --> 4([packager]) 2([library]) --> 4([packager]) 2([library]) --> 3([file]) click 0 "https://github.com/ManderaGeneral/generalimport" click 1 "https://github.com/ManderaGeneral/generaltool" click 2 "https://github.com/ManderaGeneral/generallibrary" click 3 "https://github.com/ManderaGeneral/generalfile" click 4 "https://github.com/ManderaGeneral/generalpackager" style 4 stroke:#482 ```

Installation showing dependencies

| `pip install` | `generalpackager` | |:-----------------------------------------------------------------------------------|:--------------------| | generallibrary[table] | ✔️ | | generalfile | ✔️ | | requests | ✔️ | | pyinstaller | ✔️ | | coverage | ✔️ | | setuptools | ✔️ | | wheel | ✔️ | | twine | ✔️ |

Information

| Package | Ver | Latest Release | Python | Platform | Cover | |:---------------------------------------------------------------------|:----------------------------------------------------|:---------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------|:--------| | [generalpackager](https://github.com/ManderaGeneral/generalpackager) | [0.5.10](https://pypi.org/project/generalpackager/) | 2024-01-24 07:20 CET | [3.8](https://www.python.org/downloads/release/python-380/), [3.9](https://www.python.org/downloads/release/python-390/), [3.10](https://www.python.org/downloads/release/python-3100/), [3.11](https://www.python.org/downloads/release/python-3110/), [3.12](https://www.python.org/downloads/release/python-3120/) | Windows, Ubuntu | 69.1 % |

Attributes

Module: generalpackager
├─ Class: GitHub
│  ├─ Class: GitHub
│  ├─ Class: LocalModule
│  ├─ Class: LocalRepo
│  ├─ Class: Packager
│  ├─ Class: PyPI
│  ├─ Method: api_url
│  ├─ Method: format_version
│  ├─ Method: get_description
│  ├─ Method: get_topics
│  ├─ Method: get_website
│  ├─ Method: git_clone_command
│  ├─ Method: is_general
│  ├─ Method: name_is_general
│  ├─ Property: pip_install_command
│  ├─ Method: request_kwargs
│  ├─ Method: set_description
│  ├─ Method: set_topics
│  ├─ Method: set_website
│  ├─ Property: simple_name
│  ├─ Property: ssh_url
│  └─ Method: tag_is_version
├─ Class: LocalModule
│  ├─ Class: GitHub
│  ├─ Class: LocalModule
│  ├─ Class: LocalRepo
│  ├─ Class: Packager
│  ├─ Class: PyPI
│  ├─ Method: exists
│  ├─ Method: get_all_local_modules
│  ├─ Method: get_dependants
│  ├─ Method: get_dependencies
│  ├─ Property: module
│  ├─ Property: objInfo
│  └─ Property: path
├─ Class: LocalRepo
│  ├─ Class: GitHub
│  ├─ Class: LocalModule
│  ├─ Class: LocalRepo
│  ├─ Class: Packager
│  ├─ Class: PyPI
│  ├─ Class: Targets
│  ├─ Method: changed_files
│  ├─ Method: clone
│  ├─ Method: commit
│  ├─ Class: commit_editmsg_file
│  ├─ Method: commit_message
│  ├─ Method: commit_sha
│  ├─ Method: commit_sha_short
│  ├─ Class: examples_folder
│  ├─ Class: exeproduct_folder
│  ├─ Class: exetarget_file
│  ├─ Method: exists
│  ├─ Method: format_file
│  ├─ Class: generate_file
│  ├─ Method: get_all_versions
│  ├─ Method: get_examples_path
│  ├─ Method: get_exeproduct_path
│  ├─ Method: get_exetarget_path
│  ├─ Method: get_file_from_path
│  ├─ Method: get_filenames
│  ├─ Method: get_files
│  ├─ Method: get_files_by_relative_path
│  ├─ Method: get_generate_path
│  ├─ Method: get_git_exclude_path
│  ├─ Method: get_git_ignore_path
│  ├─ Method: get_index_js_path
│  ├─ Method: get_init_path
│  ├─ Method: get_license_path
│  ├─ Method: get_manifest_path
│  ├─ Method: get_metadata_path
│  ├─ Method: get_npm_ignore_path
│  ├─ Method: get_org_readme_path
│  ├─ Method: get_package_json_path
│  ├─ Method: get_package_paths_gen
│  ├─ Method: get_pre_commit_hook_path
│  ├─ Method: get_pre_push_hook_path
│  ├─ Method: get_readme_path
│  ├─ Method: get_setup_path
│  ├─ Method: get_test_js_path
│  ├─ Method: get_test_path
│  ├─ Method: get_test_paths
│  ├─ Method: get_test_template_path
│  ├─ Method: get_workflow_path
│  ├─ Method: git_config
│  ├─ Class: git_exclude_file
│  ├─ Method: git_missing_credentials
│  ├─ Method: git_nothing_to_commit
│  ├─ Class: gitignore_file
│  ├─ Class: index_js_file
│  ├─ Method: init
│  ├─ Class: init_file
│  ├─ Method: is_django
│  ├─ Method: is_exe
│  ├─ Method: is_general
│  ├─ Method: is_node
│  ├─ Method: is_python
│  ├─ Class: license_file
│  ├─ Class: manifest_file
│  ├─ Property: metadata
│  ├─ Method: metadata_exists
│  ├─ Class: metadata_file
│  ├─ Method: name_is_general
│  ├─ Class: npm_ignore_file
│  ├─ Class: org_readme_file
│  │  └─ Method: get_org_description_markdown
│  ├─ Class: package_json_file
│  ├─ Class: pre_commit_hook_file
│  ├─ Class: pre_push_hook_file
│  ├─ Method: push
│  ├─ Class: readme_file
│  │  ├─ Method: get_attributes_markdown
│  │  ├─ Method: get_badges_dict
│  │  ├─ Method: get_contributions_markdown
│  │  ├─ Method: get_description_markdown
│  │  ├─ Method: get_examples_markdown
│  │  ├─ Method: get_footnote_markdown
│  │  ├─ Method: get_information_markdown
│  │  ├─ Method: get_installation_markdown
│  │  ├─ Method: get_mermaid_markdown
│  │  ├─ Method: get_todos
│  │  ├─ Method: get_todos_markdown
│  │  ├─ Method: github_link
│  │  ├─ Method: github_link_path_line
│  │  └─ Method: set_collapsible
│  ├─ Method: repo_exists
│  ├─ Class: setup_file
│  │  └─ Method: get_classifiers
│  ├─ Property: simple_name
│  ├─ Method: targetted
│  ├─ Class: test_folder
│  ├─ Class: test_js_file
│  ├─ Class: test_template_file
│  ├─ Class: workflow_dev_file
│  └─ Class: workflow_file
│     └─ Method: codeline
├─ Class: LocalRepo_Node
├─ Class: LocalRepo_Python
│  ├─ Method: get_python_exe_path
│  └─ Method: set_easy_install_value
├─ Class: Packager
│  ├─ Class: GitHub
│  ├─ Class: LocalModule
│  ├─ Class: LocalRepo
│  ├─ Class: Packager
│  ├─ Class: Packages
│  │  └─ Method: all_packages
│  ├─ Class: PyPI
│  ├─ Class: Targets
│  ├─ Method: commit_and_push
│  ├─ Class: commit_editmsg_file
│  ├─ Method: compare_local_to_github
│  ├─ Method: compare_local_to_pypi
│  ├─ Method: create_blank_locally
│  ├─ Method: create_github_repo
│  ├─ Method: create_master_branch
│  ├─ Class: examples_folder
│  ├─ Class: exeproduct_folder
│  ├─ Class: exetarget_file
│  ├─ Method: general_bumped_set
│  ├─ Method: general_changed_dict
│  ├─ Class: generate_file
│  ├─ Method: generate_localfiles
│  ├─ Method: get_classifiers
│  ├─ Method: get_dependants
│  ├─ Method: get_dependencies
│  ├─ Method: get_file_from_path
│  ├─ Method: get_filenames
│  ├─ Method: get_files
│  ├─ Method: get_files_by_relative_path
│  ├─ Method: get_latest_release
│  ├─ Method: get_ordered_packagers
│  ├─ Method: get_owners_package_names
│  ├─ Method: get_topics
│  ├─ Class: git_exclude_file
│  ├─ Property: github
│  ├─ Method: github_available
│  ├─ Class: gitignore_file
│  ├─ Method: if_publish_bump
│  ├─ Method: if_publish_upload
│  ├─ Class: index_js_file
│  ├─ Class: init_file
│  ├─ Method: is_bumped
│  ├─ Method: is_django
│  ├─ Method: is_exe
│  ├─ Method: is_general
│  ├─ Method: is_node
│  ├─ Method: is_python
│  ├─ Class: license_file
│  ├─ Property: localmodule
│  ├─ Method: localmodule_available
│  ├─ Property: localrepo
│  ├─ Method: localrepo_available
│  ├─ Class: manifest_file
│  ├─ Class: metadata_file
│  ├─ Method: name_is_general
│  ├─ Method: new_clean_environment
│  ├─ Class: npm_ignore_file
│  ├─ Class: org_readme_file
│  ├─ Class: package_json_file
│  ├─ Method: packagers_from_packages
│  ├─ Class: pre_commit_hook_file
│  ├─ Class: pre_push_hook_file
│  ├─ Method: push
│  ├─ Property: pypi
│  ├─ Method: pypi_available
│  ├─ Class: readme_file
│  ├─ Method: reserve_name
│  ├─ Method: run_ordered_methods
│  ├─ Class: setup_file
│  ├─ Property: simple_name
│  ├─ Method: summary_packagers
│  ├─ Method: sync_github_metadata
│  ├─ Property: target
│  ├─ Class: test_folder
│  ├─ Class: test_js_file
│  ├─ Class: test_template_file
│  ├─ Method: upload_package_summary
│  ├─ Class: workflow_dev_file
│  ├─ Class: workflow_file
│  ├─ Method: workflow_packagers
│  ├─ Method: workflow_sync
│  └─ Method: workflow_unittest
├─ Class: PyPI
│  ├─ Class: GitHub
│  ├─ Class: LocalModule
│  ├─ Class: LocalRepo
│  ├─ Class: Packager
│  ├─ Class: PyPI
│  ├─ Method: is_general
│  ├─ Property: json_endpoint
│  ├─ Method: name_is_general
│  └─ Property: simple_name
└─ Class: Venv
   ├─ Method: active
   ├─ Method: create_venv
   ├─ Property: cruds
   ├─ Method: deactivate
   ├─ Method: debug
   ├─ Method: easy_install_path
   ├─ Method: exe_name
   ├─ Method: exists
   ├─ Method: get_active_python
   ├─ Method: get_active_venv
   ├─ Method: get_active_venv_path
   ├─ Method: list_python_versions
   ├─ Method: list_venv_paths
   ├─ Method: python_exe_path
   ├─ Method: python_home_exe_path
   ├─ Method: python_home_path
   ├─ Method: python_path
   ├─ Method: python_sys_executable_path
   ├─ Method: python_version
   ├─ Method: pyvenv_cfg_path
   ├─ Method: scripts_path
   └─ Method: site_packages_path

Contributions

Issue-creation, discussions and pull requests are most welcome!

Todo

| Module | Message | |:------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | packager_files.py | Fix create_blank, it overwrites current projects pip install. | | packager_api.py | Check that every API has create an *_available method | | packager_github.py | Setup env vars for project. | | localrepo_python.py | Make sure twine is installed when trying to upload to pypi. | | localrepo_python.py | Look into private PyPI server where we could also do dry runs for test. | | localrepo.py | Search for imports to list dependencies. | | readme.py | Sort todos by name to decrease automatic commit changes. | | target.py | Generate Python file in generalpackager containing general packages. | | pypi.py | Move download to it's own package. | | pypi.py | Find a faster fetch for latest PyPI version and datetime. | | github.py | Get and Set GitHub repo private. | | packager.py | Define license in one place |
Generated 2024-01-24 07:20 CET for commit master.