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

c4dynamics #224

Open
3 of 16 tasks
C4dynamics opened this issue Dec 16, 2024 · 2 comments
Open
3 of 16 tasks

c4dynamics #224

C4dynamics opened this issue Dec 16, 2024 · 2 comments

Comments

@C4dynamics
Copy link

C4dynamics commented Dec 16, 2024

Submitting Author: Ziv (@C4dynamics)
Package Name: c4dynamics
One-Line Description of Package: Python framework for algorithms of dynamic systems

Repository Link (if existing): https://github.com/C4dynamics/C4dynamics
EiC: @coatless


Code of Conduct & Commitment to Maintain Package

Description

  • Include a brief paragraph describing what your package does:
    c4dynamics is designed to simplify the development of algorithms for dynamic systems, using state space representations. It offers engineers and researchers a systematic approach to model, simulate, and control systems in fields like robotics, aerospace, and navigation.
    The framework introduces state objects, which are foundational data structures that encapsulate state vectors and provide the tools for managing data, simulating system behavior, and analyzing results.
    With integrated modules for sensors, detectors, and filters, c4dynamics accelerates algorithm development while maintaining flexibility and scalability.

Community Partnerships

We partner with communities to support peer review with an additional layer of
checks that satisfy community requirements. If your package fits into an
existing community please check below:

Scope

  • Please indicate which category or categories this package falls under:

    • Data retrieval
    • Data extraction
    • Data processing/munging
    • Data deposition
    • Data validation and testing
    • Data visualization
    • Workflow automation
    • Citation management and bibliometrics
    • Scientific software wrappers
    • Database interoperability

None of these. c4dynamics belongs to the category of math-operations and data-operations for physical models.

Domain Specific

  • Geospatial
  • Education

  • Explain how and why the package falls under these categories (briefly, 1-2 sentences). For community partnerships, check also their specific guidelines as documented in the links above. Please note any areas you are unsure of:
    c4dynamics belongs to the category of math-operations and data-operations for physical models. Please refer to this page from the documentary to a brief overview of the package core: https://c4dynamics.github.io/C4dynamics/api/States.html

  • Who is the target audience and what are the scientific applications of this package?
    Researchers, engineers, and students from the fields of aerospace, robotics, navigation guidance and control.

  • Are there other Python packages that accomplish similar things? If so, how does yours differ?
    The core concept of state objects - probably not.
    Modules from the library of the package, like Kalman filters, seeker models, solvers etc. - there are. However, here they are built on top of a state object, which according to the philosophy of the package, should facilitate and improve the algorithm development.

  • Any other questions or issues we should be aware of:
    I'd be happy if the kind reviewer contact with me for any question or uncertainty. I'm open to any kind of communication.

P.S. Have feedback/comments about our review process? Leave a comment here
thank you :-)

@coatless
Copy link

coatless commented Feb 5, 2025

Hi Ziv/@C4dynamics thank you for making this presubmission inquiry. Sorry we haven't gotten back to you sooner as we were on break and undergoing an EiC transition.

In terms of scope, we'll need to consider the package underneath Data processing and munging category:

https://www.pyopensci.org/software-peer-review/about/package-scope.html#data-processing-and-munging

I'm working on broadening our categories; but, that will be the primary one used for this submission.

We'll also consider this package to be "in-scope" under a specialized field instead of a general "core" package (due to the new data structures).

Regarding other Python packages, I suppose we have:

  • For event-driven or discrete event simulation, statepy [defunct], statemachine, or transition.
  • For decision-making or reinforcement learning systems, POMDPy (not maintained) and tools like transition (for FSM).

In comparison, this package presents a novel state interface and individual modules tailored for sensors, detectors, and filters.


Before submitting for review, please make sure to enable CI testing:

https://www.pyopensci.org/python-package-guide/tests/tests-ci.html

Please add to the README: Badges for the packages current published version, documentation and test suite build. (OPTIONAL: test coverage)

https://www.pyopensci.org/python-package-guide/documentation/repository-files/readme-file-best-practices.html

Please make sure to use capitalized names for README.md, CODE_OF_CONDUCT.md, and CONTRIBUTING.md.

Please add a CHANGELOG.md file discussing changes:

https://www.pyopensci.org/python-package-guide/documentation/repository-files/changelog-file.html

@C4dynamics
Copy link
Author

C4dynamics commented Feb 22, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: pre-submission
Status: No status
Development

No branches or pull requests

2 participants