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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file generalpackager-0.5.10.tar.gz.

File metadata

  • Download URL: generalpackager-0.5.10.tar.gz
  • Upload date:
  • Size: 59.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for generalpackager-0.5.10.tar.gz
Algorithm Hash digest
SHA256 fcc5e5b35abef470bfe1ed96eb4fce154fdf199c96004101347e2ec25e5bdff9
MD5 690e6ad267d07e85c5665e3fb92f5977
BLAKE2b-256 c647a3840b69463977694f476ea4115ffec4592ea523b29cd5cfeaeab0cc5d82

See more details on using hashes here.

File details

Details for the file generalpackager-0.5.10-py3-none-any.whl.

File metadata

File hashes

Hashes for generalpackager-0.5.10-py3-none-any.whl
Algorithm Hash digest
SHA256 bba26997b74bd8219a5e7f180cd45f97e6226005daa40e376d43b071335df227
MD5 aa916dc5e1cdde26ca0066d3ddc427ca
BLAKE2b-256 4babe6027c3b3d88a43838ab7dce704affed5e6c7da5332988fae5d4ec8b9bde

See more details on using hashes here.

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