Skip to main content

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.

Project description

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

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 0.5.10 2024-01-24 07:20 CET 3.8, 3.9, 3.10, 3.11, 3.12 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.

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

generalpackager-0.5.10.tar.gz (59.8 kB view hashes)

Uploaded Source

Built Distribution

generalpackager-0.5.10-py3-none-any.whl (77.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page