Make it easier to contribute to this project by replacing WSL and GNU Make with Python
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 128
- Forks
- 110
- Avg merge
- 5d 14h
- Merged PRs (30d)
- 10
Description
The contributing workflow for this project on Windows requires installing WSL and the Linux packages for GNU Make, Info-ZIP, and Python. For developers using pyenv, additional configuration is required to hide the Windows pyenv and Python versions from the Linux guest. These are rather heavyweight dependencies for contributing to a pure-Python package that does not build any C extensions.
The current nimi-python developer workflow involves running Tox, which calls GNU Make as needed. If you replaced the makefiles with Python scripts, this developer workflow would not need to change. Running Tox would call the Python scripts instead of GNU Make.
Other NI open-source Python projects such as https://github.com/ni/nidaqmx-python , https://github.com/ni/measurement-plugin-python , and https://github.com/ni/nisync-python perform codegen using Python scripts, which has worked out well. Because the projects are hosted in Git, it doesn't really matter whether the codegen updates the file timestamps every time you run it, and the codegen is fast enough that it wouldn't really benefit from skipping unchanged files.
If \r\n vs. \n line endings are an issue, configure .gitattributes to automatically convert the appropriate files.
(BTW: I have experienced WSL-specific networking issues on my dev machine, but I also have a bare-metal Linux desktop PC, so I don't have to use WSL.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Tox workflow and the makefiles it invokes, then compare the code-generation scripts used by the referenced NI Python projects. Replace the GNU Make entry points with Python scripts while keeping the Tox workflow unchanged; verify that contributors no longer need WSL or GNU Make and check whether .gitattributes is needed for line endings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, developer-experience, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100