Skip to main content

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.

Metadata

Release files for generalpackager 0.5.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for generalpackager 0.5.10
File Size Uploaded
generalpackager-0.5.10.tar.gz 59.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for generalpackager 0.5.10
File Interpreter ABI Platform
generalpackager-0.5.10-py3-none-any.whl Python 3 none any Details

Total release size: 136.9 kB

Release files / generalpackager-0.5.10.tar.gz

Download URL generalpackager-0.5.10.tar.gz
Size 59.8 kB
Tags Source
SHA-256 checksum
How to use checksums
fcc5e5b35abef470bfe1ed96eb4fce154fdf199c96004101347e2ec25e5bdff9
BLAKE2b-256 checksum
How to use checksums
c647a3840b69463977694f476ea4115ffec4592ea523b29cd5cfeaeab0cc5d82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Release files / generalpackager-0.5.10-py3-none-any.whl

Download URL generalpackager-0.5.10-py3-none-any.whl
Size 77.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bba26997b74bd8219a5e7f180cd45f97e6226005daa40e376d43b071335df227
BLAKE2b-256 checksum
How to use checksums
4babe6027c3b3d88a43838ab7dce704affed5e6c7da5332988fae5d4ec8b9bde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Release history Release notifications | RSS feed

This release

0.5.10 This release

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5

2 release files

0.4

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3

2 release files

0.2.1

2 release files

0.2

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1

2 release files

0.0.9

2 release files

0.0.8

1 release file

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page