Clarifying developer setup instructions

Open
#115 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
65/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active
Tech stack
markdown, python, rust, shell

Research direction

Start with the Development Environment section in readme.md and compare it with README, build64-nvda-addon.sh, the non-64 build script, and .gitignore. Reproduce the stated cargo build and scons steps, then document the confirmed prerequisites, script usage, and generated Rules path. Done means a newcomer can set up and build the addon without the unanswered questions in this issue.

Written by the indexing model from the issue text.

Description

Hi, I'm looking to contribute and I've (successfully?) set up a dev environment to build the MathCAT NVDA addon, but ran into a few questions. Once I've confirmed that I didn't do anything wrong, I'll try to update the readme's dev setup instructions with the additional prereqs I encountered.

@NSoiffer


I saw two scripts, build64-nvda-addon.sh and a non-64 counterpart. These files were updated within the past few weeks, possibly implying current use.

  1. PYO3_PYTHON_64=C:/Users/neils/AppData/Local/Python/pythoncore-3.13-64
    This path includes neils' username, making this script harder to use off of his machine.

  2. I'm more experienced with server-side development, so have more limited familiarity with setting up a Windows build env. This script is a bash script, and while apparently Windows PowerShell allows starting bash these days, it looks like it uses /mnt/C/Users/{username}, not C:/Users/{username}?

I'm unsure how I would run this script, even if I replaced neils' home path with something appropriate to my machine. (Start PowerShell, type bash, then execute the script? Execute directly from PowerShell? Some other terminal or otherwise?)
Are there additional prereqs to run this script on top of the ones covered below? At least build64 seems to point at two different python installs, if I'm reading correctly.

In the end I didn't use this script.


I mostly worked off of https://github.com/daisy/MathCATForPython/tree/main#development-environment

Prereqs approximately following the document:

  1. Installed python 3.14.7-64bit via Python installer (instead of 3.11-32bit)
  2. Set up venv and installed listed modules
  3. Cloned MathCAT and NVDA git repos as siblings to MathCATForPython.

Additional prereqs not covered in that document:

  1. Install rust (https://rustup.rs/) and MSVC prereqs. (You call out installing python, so it feels fair to me to call this out as well?)
  2. pip install scons. Maybe this one was supposed to be outside the venv, but I installed it in the venv for now.
  3. pip install markdown as an additional venv component, since the build seemed to need it?

My build process (no flags, unlike the bash scripts above):

cargo build
scons

Should I have been running any of the flags from the bash scripts?

Also, I've locally added addon/globalPlugins/MathCAT/Rules to the .gitignore file, since cargo build unzips the rules files from the base project into there. Considering that this isn't already in the checked-in .gitignore, am I doing something wrong? Or should I send a PR to update the checked-in file with that?

Also^2, should I fold [README](https://github.com/daisy/MathCATForPython/blob/main/README), which only describes running sconsinto the dev instructions from the more comprehensivereadme.md`?)

Dominant language
Python
Stars
10
Forks
10
Avg merge
10h 40m
Merged PRs (30d)
4

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from daisy/MathCATForPython

All issues in daisy/MathCATForPython

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.