mirror of
https://github.com/ZGCA-Forge/MsgCenterPy.git
synced 2026-02-05 05:45:13 +00:00
Compare commits
16 Commits
0.1.0
...
58628910f4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
58628910f4 | ||
|
|
4153d99344 | ||
|
|
3d0cdcd423 | ||
|
|
419ed15d70 | ||
|
|
5262e9bfd5 | ||
|
|
2d5fd8b74e | ||
|
|
043f934a42 | ||
|
|
0faaa9ebdb | ||
|
|
c4d55fed1b | ||
|
|
0684e823c0 | ||
|
|
98e0b9966e | ||
|
|
041710d331 | ||
|
|
cb9dd57f19 | ||
|
|
3d032c0b98 | ||
|
|
1ccf2d4ac7 | ||
|
|
477d7075d5 |
@@ -1,5 +1,5 @@
|
|||||||
[bumpversion]
|
[bumpversion]
|
||||||
current_version = 0.1.0
|
current_version = 0.1.4
|
||||||
commit = True
|
commit = True
|
||||||
tag = True
|
tag = True
|
||||||
tag_name = v{new_version}
|
tag_name = v{new_version}
|
||||||
|
|||||||
53
.github/workflows/ci.yml
vendored
53
.github/workflows/ci.yml
vendored
@@ -16,10 +16,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.10" # Use minimum version for consistency
|
python-version: "3.10" # Use minimum version for consistency
|
||||||
|
|
||||||
@@ -40,10 +40,10 @@ jobs:
|
|||||||
needs: [code-format] # Only run after code formatting passes
|
needs: [code-format] # Only run after code formatting passes
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.10"
|
python-version: "3.10"
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ jobs:
|
|||||||
needs: [basic-build] # Only run after basic build passes
|
needs: [basic-build] # Only run after basic build passes
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Setup Miniconda
|
- name: Setup Miniconda
|
||||||
uses: conda-incubator/setup-miniconda@v3
|
uses: conda-incubator/setup-miniconda@v3
|
||||||
@@ -112,23 +112,17 @@ jobs:
|
|||||||
needs: [basic-build] # Run in parallel with ROS2 test after basic build
|
needs: [basic-build] # Run in parallel with ROS2 test after basic build
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Run Safety CLI to check for vulnerabilities
|
||||||
uses: actions/setup-python@v5
|
uses: pyupio/safety-action@v1
|
||||||
with:
|
with:
|
||||||
python-version: "3.10" # Use minimum version for consistency
|
api-key: ${{ secrets.SAFETY_CHECK }}
|
||||||
|
output-format: json
|
||||||
- name: Install security tools
|
args: --detailed-output --output-format json
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install "safety>=3.0.0" "typer<0.12.0" "marshmallow<4.0.0"
|
|
||||||
|
|
||||||
- name: Run safety security scan
|
|
||||||
run: safety check --output json > safety-report.json
|
|
||||||
|
|
||||||
- name: Upload security reports
|
- name: Upload security reports
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: security-reports
|
name: security-reports
|
||||||
path: |
|
path: |
|
||||||
@@ -142,10 +136,10 @@ jobs:
|
|||||||
needs: [basic-build] # Run in parallel with other checks
|
needs: [basic-build] # Run in parallel with other checks
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.10" # Use minimum version for consistency
|
python-version: "3.10" # Use minimum version for consistency
|
||||||
|
|
||||||
@@ -161,7 +155,7 @@ jobs:
|
|||||||
run: twine check dist/*
|
run: twine check dist/*
|
||||||
|
|
||||||
- name: Upload build artifacts
|
- name: Upload build artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: dist
|
name: dist
|
||||||
path: dist/
|
path: dist/
|
||||||
@@ -182,10 +176,10 @@ jobs:
|
|||||||
python-version: "3.10"
|
python-version: "3.10"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
@@ -201,20 +195,9 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
python -m pip install flake8 pytest
|
python -m pip install pytest
|
||||||
pip install -e .[dev]
|
pip install -e .[dev]
|
||||||
|
|
||||||
- name: Lint with flake8
|
|
||||||
run: |
|
|
||||||
# stop the build if there are Python syntax errors or undefined names
|
|
||||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
||||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
|
||||||
flake8 . --count --exit-zero --max-line-length=200 --extend-ignore=E203,W503,F401,E402,E721,F841 --statistics
|
|
||||||
|
|
||||||
- name: Type checking with mypy
|
|
||||||
run: |
|
|
||||||
mypy msgcenterpy --disable-error-code=unused-ignore
|
|
||||||
|
|
||||||
- name: Test with pytest
|
- name: Test with pytest
|
||||||
run: |
|
run: |
|
||||||
pytest
|
pytest
|
||||||
|
|||||||
4
.github/workflows/docs.yml
vendored
4
.github/workflows/docs.yml
vendored
@@ -36,12 +36,12 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.inputs.branch || github.ref }}
|
ref: ${{ github.event.inputs.branch || github.ref }}
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.10"
|
python-version: "3.10"
|
||||||
|
|
||||||
|
|||||||
44
.github/workflows/publish.yml
vendored
44
.github/workflows/publish.yml
vendored
@@ -29,10 +29,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.10" # Use minimum version for consistency
|
python-version: "3.10" # Use minimum version for consistency
|
||||||
|
|
||||||
@@ -53,10 +53,10 @@ jobs:
|
|||||||
needs: [code-format] # Only run after code formatting passes
|
needs: [code-format] # Only run after code formatting passes
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.10"
|
python-version: "3.10"
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ jobs:
|
|||||||
needs: [basic-build] # Only run after basic build passes
|
needs: [basic-build] # Only run after basic build passes
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Setup Miniconda
|
- name: Setup Miniconda
|
||||||
uses: conda-incubator/setup-miniconda@v3
|
uses: conda-incubator/setup-miniconda@v3
|
||||||
@@ -125,23 +125,17 @@ jobs:
|
|||||||
needs: [basic-build] # Run in parallel with ROS2 test after basic build
|
needs: [basic-build] # Run in parallel with ROS2 test after basic build
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Run Safety CLI to check for vulnerabilities
|
||||||
uses: actions/setup-python@v5
|
uses: pyupio/safety-action@v1
|
||||||
with:
|
with:
|
||||||
python-version: "3.10" # Use minimum version for consistency
|
api-key: ${{ secrets.SAFETY_CHECK }}
|
||||||
|
output-format: json
|
||||||
- name: Install security tools
|
args: --detailed-output --output-format json
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install "safety>=3.0.0" "typer<0.12.0" "marshmallow<4.0.0"
|
|
||||||
|
|
||||||
- name: Run safety security scan
|
|
||||||
run: safety check --output json > safety-report.json
|
|
||||||
|
|
||||||
- name: Upload security reports
|
- name: Upload security reports
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: security-reports
|
name: security-reports
|
||||||
path: |
|
path: |
|
||||||
@@ -154,10 +148,10 @@ jobs:
|
|||||||
needs: [test-with-ros2]
|
needs: [test-with-ros2]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: "3.10" # Use minimum version for consistency
|
python-version: "3.10" # Use minimum version for consistency
|
||||||
|
|
||||||
@@ -203,7 +197,7 @@ jobs:
|
|||||||
twine check dist/*
|
twine check dist/*
|
||||||
|
|
||||||
- name: Upload distributions
|
- name: Upload distributions
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v5
|
||||||
with:
|
with:
|
||||||
name: release-dists
|
name: release-dists
|
||||||
path: dist/
|
path: dist/
|
||||||
@@ -223,7 +217,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Retrieve release distributions
|
- name: Retrieve release distributions
|
||||||
uses: actions/download-artifact@v5
|
uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: release-dists
|
name: release-dists
|
||||||
path: dist/
|
path: dist/
|
||||||
@@ -246,7 +240,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Retrieve release distributions
|
- name: Retrieve release distributions
|
||||||
uses: actions/download-artifact@v5
|
uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: release-dists
|
name: release-dists
|
||||||
path: dist/
|
path: dist/
|
||||||
@@ -266,7 +260,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Retrieve release distributions
|
- name: Retrieve release distributions
|
||||||
uses: actions/download-artifact@v5
|
uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: release-dists
|
name: release-dists
|
||||||
path: dist/
|
path: dist/
|
||||||
@@ -285,7 +279,7 @@ jobs:
|
|||||||
if: always() && (needs.pypi-publish.result == 'success' || needs.test-pypi-publish.result == 'success')
|
if: always() && (needs.pypi-publish.result == 'success' || needs.test-pypi-publish.result == 'success')
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Create deployment summary
|
- name: Create deployment summary
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -48,6 +48,9 @@ docs/_static/
|
|||||||
|
|
||||||
# Visual Studio Code
|
# Visual Studio Code
|
||||||
.vscode/
|
.vscode/
|
||||||
|
.cursor/
|
||||||
|
.cursorignore
|
||||||
|
pyrightconfig.json
|
||||||
|
|
||||||
# ================================
|
# ================================
|
||||||
# Operating System files
|
# Operating System files
|
||||||
|
|||||||
2
LICENSE
2
LICENSE
@@ -184,7 +184,7 @@
|
|||||||
same "printed page" as the copyright notice for easier
|
same "printed page" as the copyright notice for easier
|
||||||
identification within third-party archives.
|
identification within third-party archives.
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
Copyright 2025 ZGCA-Forge/MsgCenterPy
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ A multi-format message conversion system supporting seamless conversion
|
|||||||
between ROS2, Pydantic, Dataclass, JSON, Dict, YAML and JSON Schema.
|
between ROS2, Pydantic, Dataclass, JSON, Dict, YAML and JSON Schema.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "0.1.0"
|
__version__ = "0.1.4"
|
||||||
__license__ = "Apache-2.0"
|
__license__ = "Apache-2.0"
|
||||||
|
|
||||||
from msgcenterpy.core.envelope import MessageEnvelope, create_envelope
|
from msgcenterpy.core.envelope import MessageEnvelope, create_envelope
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ version = {attr = "msgcenterpy.__version__"}
|
|||||||
|
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 120
|
line-length = 120
|
||||||
target-version = ['py310']
|
target-version = ['py310', 'py311', 'py312']
|
||||||
|
|
||||||
[tool.isort]
|
[tool.isort]
|
||||||
profile = "black"
|
profile = "black"
|
||||||
|
|||||||
Reference in New Issue
Block a user