diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml new file mode 100644 index 0000000..0aebf1f --- /dev/null +++ b/.github/workflows/pr-validation.yml @@ -0,0 +1,22 @@ +name: PR Validation Workflow + +on: + pull_request: + branches: + - main + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Install build and wheel + run: python3 -m pip install build wheel + + - name: Build package + run: make build diff --git a/MANIFEST.in b/MANIFEST.in index db76fe2..67e3ac2 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,2 +1,3 @@ -global-include *.py *.textfsm -global-exclude *.py[cod] \ No newline at end of file +global-include *.py +global-exclude *.py[cod] +recursive-include esxi_utils/util/connect/textfsm_templates *.textfsm \ No newline at end of file diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..6bf8a1e --- /dev/null +++ b/changelog.md @@ -0,0 +1,8 @@ +# Changelog + +This page was created to track changes to versions of Python-ESXi-Utilities (esxi_utils). The changelog was created in v3.22.1 and only changes starting from that version are tracked here. + +## 3.22.1 + +- Adds metadata to pip package for PyPI +- Pins setuptools version and updates requests pinned version diff --git a/pyproject.toml b/pyproject.toml index 0ad39d0..05e9e94 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "setuptools>=42", + "setuptools==80.9.0", "wheel" ] build-backend = "setuptools.build_meta" \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 4357339..5066f8b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,32 +1,52 @@ [metadata] name = esxi-utils -version = 3.22.0 +version = 3.22.1 author = The MITRE Corporation description = A package that provides functions for interacting with an ESXi server and manipulating VMs/OVFs. +long_description = file: README.md +long_description_content_type = text/markdown +url = https://github.com/mitre/Python-ESXi-Utilities +project_urls = + Documentation = https://github.com/mitre/Python-ESXi-Utilities/blob/main/README.md + Source = https://github.com/mitre/Python-ESXi-Utilities + Issues = https://github.com/mitre/Python-ESXi-Utilities/issues + Changelog = https://github.com/mitre/Python-ESXi-Utilities/changelog.md +license = Apache-2.0 +license_files = LICENSE +keywords = esxi, vmware, vsphere, vcenter, pyvmomi, virtualization, hypervisor, ssh, paramiko, winrm, pywinrm, cisco, netmiko, network-automation, palo-alto, palo-alto-networks, panos, panorama, pan-os, panos-api, firewall, firewall-automation, devops, sysadmin, infrastructure-automation, datacenter, automation, remote-execution, configuration-management, orchestration, python-library, utilities +classifiers = + Development Status :: 5 - Production/Stable + Intended Audience :: Developers + Topic :: Software Development :: Libraries + Programming Language :: Python :: 3 + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 + Operating System :: OS Independent [options] -packages = find: +packages = find_namespace: python_requires = >=3.10 install_requires = - pyvmomi==8.0.3.0.1 - requests_ntlm==1.3.0 - requests==2.32.3 - paramiko==3.4.1 fabric==3.2.2 lxml==5.3.0 - vncdotool==1.0.0 - pywinrm==0.4.3 - pan-os-python==1.6.0 netmiko==3.4.0 - textfsm==1.1.2 + opencv-python-headless==4.12.0.88 + pan-os-python==1.6.0 + paramiko==3.4.1 python-dateutil==2.8.2 - opencv-python-headless>=4.8.0.76 + pyvmomi==8.0.3.0.1 + pywinrm==0.4.3 + requests==2.32.5 + requests_ntlm==1.3.0 + textfsm==1.1.2 + vncdotool==1.0.0 include_package_data = True [options.packages.find] -exclude = - docs* - .azuredevops* +include = + esxi_utils* [options.package_data] -* = textfsm_templates/* +esxi_utils.util.connect.textfsm_templates = *.textfsm