Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delimited types #45

Merged
merged 39 commits into from Oct 16, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
c15223d
Fix the README
pavel-kirienko Aug 17, 2020
3054cbc
The work on the delimited composite serialization is in progress. Foo…
pavel-kirienko Aug 19, 2020
bf773fc
Merge branch 'master' into beta
pavel-kirienko Aug 19, 2020
0aaebfb
Three todos left, apparently
pavel-kirienko Aug 21, 2020
a534ad7
Bit length computation for structs
pavel-kirienko Aug 22, 2020
985a683
Introduce the extent
pavel-kirienko Aug 22, 2020
8286c50
Finished the logic, apparently; testing up next
pavel-kirienko Aug 22, 2020
471bcd5
Type improvements
pavel-kirienko Aug 22, 2020
ccc6d95
pycodestyle config fix
pavel-kirienko Aug 22, 2020
ea95503
Sync up with https://forum.uavcan.org/t/data-type-extensibility-and-c…
pavel-kirienko Aug 23, 2020
279a520
Refactor appendability out from CompositeType into a dedicated decora…
pavel-kirienko Aug 23, 2020
52348ab
A minor internal refactoring
pavel-kirienko Aug 23, 2020
de8a8cb
Describe the optimization hint: DelimitedType.inner_type.extent
pavel-kirienko Aug 23, 2020
8d90bd5
Update the docs for DelimitedType
pavel-kirienko Aug 24, 2020
f692eee
Slowly bringing the tests back to green
pavel-kirienko Aug 24, 2020
eb26523
Two tests fixed, 6 to go
pavel-kirienko Aug 25, 2020
9ede9ea
5 to go
pavel-kirienko Aug 25, 2020
6de3700
3 to go
pavel-kirienko Aug 25, 2020
feb7631
All tests are fixed
pavel-kirienko Aug 25, 2020
b4bc9b6
Adding tests for the new logic; WIP
pavel-kirienko Aug 25, 2020
ef2ca42
Fix an internal design consistency issue
pavel-kirienko Aug 25, 2020
8417289
Full coverage restored
pavel-kirienko Aug 25, 2020
d533112
Drop the demo script
pavel-kirienko Aug 25, 2020
07519ee
Version bump
pavel-kirienko Aug 25, 2020
c818a8b
Update the simple readability test to use a hidden temp dir
pavel-kirienko Aug 25, 2020
3825d7e
Extent consistency check
pavel-kirienko Aug 25, 2020
659737a
Padding logic fix
pavel-kirienko Aug 25, 2020
4571f08
@final -> @sealed
pavel-kirienko Oct 8, 2020
92bb011
Temporarily disable testing against the regulated DSDL repo
pavel-kirienko Oct 8, 2020
2623a53
Travis-CI: switch to Focal
pavel-kirienko Oct 8, 2020
4edafb1
Appveyor: switch to Focal
pavel-kirienko Oct 8, 2020
1d291ed
Update dev deps
pavel-kirienko Oct 12, 2020
6d6ad39
Remove unnecessary special case
pavel-kirienko Oct 12, 2020
6a9b9a2
Silence a false-positive detected by MyPy
pavel-kirienko Oct 12, 2020
eee3ca4
Use pytest-randomly to seed the PRNG and shuffle the tests
pavel-kirienko Oct 12, 2020
58032f3
Re-enable CI test against the regulated DSDL repository
pavel-kirienko Oct 12, 2020
8640e7d
Actualize the docs
pavel-kirienko Oct 12, 2020
03b410e
CI configuration update
pavel-kirienko Oct 16, 2020
e2816c7
https://forum.uavcan.org/t/data-type-extensibility-and-composition/82…
pavel-kirienko Oct 16, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions .idea/dictionaries/pavel.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 4 additions & 7 deletions .travis.yml
@@ -1,20 +1,17 @@
language: python
dist: bionic

os:
- linux # Travis-CI doesn't support Python on other platforms.
dist: focal

python:
- '3.6'
- '3.7'
- '3.8'
- '3.9-dev'

before_script:
- pip install -r requirements.txt

script:
- ./test.sh

# TODO: re-enable when releasing.
# - git clone https://github.com/UAVCAN/public_regulated_data_types dsdl-test
# - ./demo.py dsdl-test/uavcan
- git clone https://github.com/UAVCAN/public_regulated_data_types .dsdl-test
- python -c "import pydsdl; pydsdl.read_namespace('.dsdl-test/uavcan', [])"
18 changes: 9 additions & 9 deletions appveyor.yml
Expand Up @@ -4,15 +4,15 @@ environment:
PYTHON: "C:\\Python38-x64"
PYTHON_ARCH: "64"

- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
PYTHON: "3.6"
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
PYTHON: "3.8"
coverage: 1

- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
PYTHON: "3.7"

- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu
PYTHON: "3.8"
coverage: 1
- APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
PYTHON: "3.6"

stack: python %PYTHON%

Expand All @@ -36,9 +36,9 @@ test_script:
# MS Windows test.
- cmd: python -m pytest

# Shared test for all platforms. TODO: re-enable when releasing.
# - git clone https://github.com/UAVCAN/public_regulated_data_types dsdl-test
# - python demo.py dsdl-test/uavcan
# Shared test for all platforms.
- git clone https://github.com/UAVCAN/public_regulated_data_types .dsdl-test
- python -c "import pydsdl; pydsdl.read_namespace('.dsdl-test/uavcan', [])"

after_test:
# Publish the coverage. The deps are not listed in the requirements file because they are only useful in the CI.
Expand Down
104 changes: 0 additions & 104 deletions demo.py

This file was deleted.

3 changes: 1 addition & 2 deletions docs/index.rst
Expand Up @@ -7,7 +7,7 @@ evaluating all constant expressions in the process.
All DSDL features defined in the UAVCAN Specification are supported.

It helps to know that `UAVCAN <https://uavcan.org>`_ stands for
*Uncomplicated Application-level Vehicular Communication And Networking*.
*Uncomplicated Application-level Vehicular Computing And Networking*.

If you have questions, please bring them to the `support forum <https://forum.uavcan.org/>`_.

Expand All @@ -21,7 +21,6 @@ Contents

pages/installation
pages/pydsdl
pages/demo
pages/dev


Expand Down
7 changes: 0 additions & 7 deletions docs/pages/demo.rst

This file was deleted.

2 changes: 2 additions & 0 deletions docs/pages/pydsdl.rst
Expand Up @@ -6,6 +6,8 @@ PyDSDL usage
The entirety of the library API is exposed at the top level as ``pydsdl.*``.
There are no usable submodules.

You can find a practical usage example in the Nunavut code generation library that uses PyDSDL as the frontend.

.. contents:: Contents
:local:

Expand Down
3 changes: 2 additions & 1 deletion pydsdl/__init__.py
Expand Up @@ -6,7 +6,7 @@
import os as _os
import sys as _sys

__version__ = '1.5.0'
__version__ = '1.6.0'
__version_info__ = tuple(map(int, __version__.split('.')))
__license__ = 'MIT'
__author__ = 'UAVCAN Development Team'
Expand Down Expand Up @@ -46,6 +46,7 @@
from ._serializable import CompositeType as CompositeType # noqa
from ._serializable import UnionType as UnionType # noqa
from ._serializable import StructureType as StructureType # noqa
from ._serializable import DelimitedType as DelimitedType # noqa
from ._serializable import ServiceType as ServiceType # noqa

# Data type model - attributes.
Expand Down