How do you develop new openinference instrumentation. I have looked at contributing and the python development guide but none cover how you can run an editable install of a package for continuous development. Does anyone have any advice on how to setup an environment for continuous development for openinference
To set up an environment for continuous development of OpenInference (Python), use a virtual environment and install the package in editable mode with development dependencies. For example, after creating and activating your environment, run pip install -e ".[dev,test]" from the repo root. This allows you to make code changes and have them reflected immediately without reinstalling. For more details, see the OpenInference Python DEVELOPMENT.md and Phoenix DEVELOPMENT.md.If you are working on the web frontend, install Node.js (preferably via nvm), then install dependencies and build with pnpm install and pnpm run build in the app directory. Would you like a step-by-step breakdown for Python or JS development, or help with a specific tool (e.g., tox, conda, virtualenv, etc.)?Sources:
- Phoenix DEVELOPMENT.md
- OpenInference Python DEVELOPMENT.md
💡 Hint: Mention RunLLM in the thread for followups.
Hi Sebastian S. thanks so much for considering contributing to openinference! Unfortunately we don’t have too much documentation on how to build new instrumentors—it’s definitely something we should work on.
openinference is technically independent of Phoenix so you don’t need to install Phoenix except to test if your traces are rendering properly. The best I can say is to follow any existing pattern for any of the instrumentors. Each directory has its own pyproject.toml and acts like its own package
A lot of the core structure lives in the openinference-instrumentation package which is independent
If you’re looking to develop a JS instrumentor let me know and I’ll have someone help get you started
Let me know if you need anything
