posit-dev / posit-dev/positron
python: Enhance startup script experience
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 4.3k
- Forks
- 184
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 206
Description
Currently, users can create scripts that run at startup of a Python session by placing them in ~/.ipython/profile_default/startup/. There are some pain points with this process.
(See https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/Startup for inspiration.)
- The scripts' output should be printed to the Console
- Non-hidden variables that are defined should be shown in the Variables pane without having to add an ipython config setting
- We could search default locations for the scripts, including at the Positron user and project levels. (Using the
~/.ipythondirectory means it's not just Positron that reads the scripts, and today there's no project-level customization) - If that's insufficient, we could add a dedicated setting where users can select their custom startup scripts
Originally posted by @dani-f in https://github.com/posit-dev/positron/discussions/6376#discussioncomment-12313912
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 how Python session startup scripts in ~/.ipython/profile_default/startup/ are discovered and executed. Review the Console and Variables pane behavior, then determine how Positron user- and project-level locations would fit. Done means the intended startup locations or setting are defined, script output reaches the Console, and non-hidden variables appear in the Variables pane.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100