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

Call for Contributions #25

Open
9 tasks
zkytony opened this issue Jan 30, 2023 · 5 comments
Open
9 tasks

Call for Contributions #25

zkytony opened this issue Jan 30, 2023 · 5 comments
Labels
call contribution appreciated enhancement New feature or request help wanted Extra attention is needed significant

Comments

@zkytony
Copy link
Collaborator

zkytony commented Jan 30, 2023

pomdp-py has been useful to many since it was released two years ago. It is encouraging to receive emails from users of different backgrounds. I believe there is value and beauty in keep improving this library for what it is and making POMDP-related research more accessible to more people programmatically. This is the basis of pomdp-py.

I will keep maintaining this library, but I have also graduated from my PhD and am moving on to the next chapter. Therefore, I am calling for contributors who are willing to take part in improving & maintaining this library. Below, I provide some guidelines for how you could contribute. In the end, I include my own todo-list -- open for anybody. Feel free to contact me at [email protected] if you have any thoughts or comments.

How to Contribute

There are multiple ways you could contribute:

  1. Open an issue. If you identify a problem or have questions, feel free to open an issue about it.

  2. Fork & make a pull request.

    • Existing tests under pomdp-py/tests should pass. Run python test_all.py before making your pull request.

    • If you make breaking changes, please write your own tests under the same directory and overwrite previous tests (and justify why).

    • Communicate effectively what you have done, how it works, and how should people use it. Effective communication is not limited to text writing.

  3. Blog. If you have used pomdp-py, it would be useful to others if you blog about the process of your use and your thoughts. Share your link with me - thanks!

Coding

Documentation

Read about how to build the docs on this documentation page.

Git and Github

  • Follow Github's Best Practices for Projects. In particular:
    • Break down large issues into smaller issues
    • Communicate
    • Make use of the description and README
    • Have a single source of truth

Caveats

  • Building a Cython-Python project for PyPI release is tricky. Make sure both Cython (.pyx, .pxd) and Python (.py) source files are included in the PyPI source package.
  • Writing documentation for a Cython-Python combined project is tricky.

TODO List

Your contribution could be about, but not limited to, the following TODO items in my notes. The ordering is somewhat random; they are each assigned to a potential future release.

@zkytony zkytony added enhancement New feature or request call contribution appreciated significant labels Jan 30, 2023
@zkytony zkytony pinned this issue Mar 8, 2023
@zkytony zkytony added the help wanted Extra attention is needed label Apr 11, 2023
@RajeshDM
Copy link

Hi, Thank you for the great library. I am using it for one of my projects. I would love to contribute to the project.

Specifically, I want to contribute to v1.4.0: "Add OctreeDistribution (octree belief; ref) as one of the distribution reps in pomdp_py."

I have already gone through the code and have updated parts of it for my current project so I can get started on this soon. Please let me know if there's anything else I need to know before getting started.

Thank you.

@zkytony
Copy link
Collaborator Author

zkytony commented Jan 18, 2024

@RajeshDM Fantastic.

I have implemented OctreeDistribution here, which is better (more comprehensive) than the code for the paper you linked. I was imagining porting that over to pomdp_py and adding tests would be great. Tests have also been written here.

@RajeshDM
Copy link

@RajeshDM Fantastic.

I have implemented OctreeDistribution here, which is better (more comprehensive) than the code for the paper you linked. I was imagining porting that over to pomdp_py and adding tests would be great. Tests have also been written here.

Thanks for pointing me to the updated code base. If the code already exists, I believe the work should not be too extensive except for adding some more testing perhaps? Maybe the useful thing might be also adding an example problem that actually uses the octTree belief so that it would be useful to learn from for someone trying to use the OctTree belief for their own use later down the line. What do you think about that?

@zkytony
Copy link
Collaborator Author

zkytony commented Jan 18, 2024

Agree. I think the original 3D object search domain is a good candidate but needs to be greatly simplified for this. If there is something you are working on that can be an example that would be wonderful.

@RajeshDM
Copy link

Agree. I think the original 3D object search domain is a good candidate but needs to be greatly simplified for this. If there is something you are working on that can be an example that would be wonderful.

That sounds good. I am currently working on a domain but that might take a while to be completed. It might be easier to use the existing domain. I will look at how to simplify it. Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
call contribution appreciated enhancement New feature or request help wanted Extra attention is needed significant
Projects
None yet
Development

No branches or pull requests

2 participants