|
1 | 1 | # Contributing to PICA |
2 | 2 |
|
3 | | -Thank you for your interest in PICA (Python-based Instrument Control and Automation) |
4 | | -The UGC-DAE Consortium for Scientific Research has the overarching objective of facilitating researchers by providing convenient access to a wide range of advanced research facilities. In alignment with this mission, the present software has been developed to serve a similar purpose. |
| 3 | +First off, thank you for considering contributing to PICA! It's people like you that make PICA such a great tool. |
5 | 4 |
|
6 | | -Originally, this project was conceived and implemented for our Advanced Transport Measurement System. We are now extending its scope beyond this specific system, with the intention of establishing a general software framework upon which users can contribute and integrate additional modules. All contributed modules are expected to be rigorously tested on the corresponding experimental instruments to ensure reliability and scientific validity. |
| 5 | +## Where do I go from here? |
7 | 6 |
|
8 | | -We welcome requests for new features and are open to collaboration in developing modules tailored to the specific requirements of individual users. Feedback, contributions, and constructive criticism from both the scientific and software development communities are explicitly encouraged, as they are essential for the continuous improvement and robustness of this software platform. |
| 7 | +If you've noticed a bug or have a feature request, [make one](https://github.com/Ketan-Anand/PICA-Python-Instrument-Control-and-Automation/issues/new)! It's generally best if you get confirmation of your bug or approval for your feature request this way before starting to code. |
9 | 8 |
|
| 9 | +### Fork & create a branch |
10 | 10 |
|
11 | | -## How to Report Bugs |
12 | | -If you encounter an error while running a measurement: |
13 | | -1. Go to the [Issues tab](https://github.com/prathameshnium/PICA-Python-Instrument-Control-and-Automation/issues). |
14 | | -2. Click "New Issue". |
15 | | -3. Include the error message from the PICA console and which instrument you were using (e.g., Keithley 2400). |
| 11 | +If this is something you think you can fix, then [fork PICA](https://github.com/Ketan-Anand/PICA-Python-Instrument-Control-and-Automation/fork) and create a branch with a descriptive name. |
16 | 12 |
|
17 | | -## How to Suggest Features |
18 | | -If you have a script for a new instrument (e.g., a lock-in amplifier) that you would like to include: |
19 | | -1. Fork this repository. |
20 | | -2. Add your script to a new folder in pica (e.g., `SRS_830/`). |
21 | | -3. Submit a Pull Request (PR) describing what the instrument does. |
| 13 | +A good branch name would be (where issue #325 is the ticket you're working on): |
| 14 | + |
| 15 | +```sh |
| 16 | +git checkout -b 325-add-japanese-translations |
| 17 | +``` |
| 18 | + |
| 19 | +### Get the test suite running |
| 20 | + |
| 21 | +Make sure you're running the test suite locally. It's a good idea to do this before you start making changes to ensure that everything is working correctly. |
| 22 | + |
| 23 | +### Implement your fix or feature |
| 24 | + |
| 25 | +At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first :smile_cat: |
| 26 | + |
| 27 | +### Make a Pull Request |
| 28 | + |
| 29 | +At this point, you should switch back to your master branch and make sure it's up to date with the latest upstream version of PICA. |
| 30 | + |
| 31 | +```sh |
| 32 | +git remote add upstream git@github.com:Ketan-Anand/PICA-Python-Instrument-Control-and-Automation.git |
| 33 | +git checkout master |
| 34 | +git pull upstream master |
| 35 | +``` |
| 36 | + |
| 37 | +Then update your feature branch from your local copy of master, and push it! |
| 38 | + |
| 39 | +```sh |
| 40 | +git checkout 325-add-japanese-translations |
| 41 | +git rebase master |
| 42 | +git push --force-with-lease origin 325-add-japanese-translations |
| 43 | +``` |
| 44 | + |
| 45 | +Finally, go to GitHub and [make a Pull Request](https://github.com/Ketan-Anand/PICA-Python-Instrument-Control-and-Automation/compare) |
| 46 | + |
| 47 | +### Keeping your Pull Request updated |
| 48 | + |
| 49 | +If a maintainer asks you to "rebase" your PR, they're saying that a lot of code has changed, and that you need to update your branch so it's easier to merge. |
| 50 | + |
| 51 | +To learn more about rebasing and merging, check out this guide from Atlassian: |
| 52 | +[https://www.atlassian.com/git/tutorials/merging-vs-rebasing](https://www.atlassian.com/git/tutorials/merging-vs-rebasing) |
| 53 | + |
| 54 | +## How to get in touch |
| 55 | + |
| 56 | +You can reach out to the maintainers of PICA by creating an issue. |
| 57 | + |
| 58 | +## Code of Conduct |
| 59 | + |
| 60 | +Everyone interacting in the PICA project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [PICA Code of Conduct](CODE_OF_CONDUCT.md). |
0 commit comments