Dev: GitHub workflow
Pages 142
- Home
- A gallery of interesting IPython Notebooks
- A gallery of interesting Jupyter and IPython Notebooks
- Code blocks and other ideas
- Cookbook: Branding the IPython notebook
- Cookbook: Connecting to a remote kernel via ssh
- Cookbook: Dated logging
- Cookbook: deploying ipython
- Cookbook: Dynamic prompt
- Cookbook: Hotkeys for faster notebook editing
- Cookbook: Ignoring some commands in history
- Cookbook: Index
- Cookbook: IPython and Emacs
- Cookbook: IPython and Python.NET
- Cookbook: Job control extension
- Cookbook: Launching IPython on OSX
- Cookbook: Macro arguments
- Cookbook: nbconvert templates
- Cookbook: Notebook utilities
- Cookbook: Running a file in the background
- Cookbook: Running screen
- Cookbook: Sending built in help to the pager
- Cookbook: Shadow history
- Cookbook: Standalone executable zip
- Cookbook: Storing aliases
- Cookbook: Styling Notebook
- Cookbook: Styling the QtConsole
- Cookbook: Updating code for use with IPython 0.11 and later
- Cookbook: Using IPython with Console2
- Cookbook: Using IPython with TextMate
- Dev: boot2docker
- Dev: Closing pull requests
- Dev: Coding style
- Dev: Compiling .LESS files
- Dev: Documenting IPython
- Dev: Extending the Messaging Protocol
- Dev: GitHub workflow
- Dev: Index
- Dev: IPython Sphinx directive
- Dev: Javascript Events
- Dev: Lab meetings on Air
- Dev: Meeting notes, February 6, 2013
- Dev: Meeting notes, January 6, 2013
- Dev: Meeting, January 2014
- Dev: Meeting, July 2013
- Dev: Meeting, September 2014
- Dev: Py3compat module
- Dev: PyData 2012 HackNight
- Dev: Releasing IPython
- Dev: Testing
- Dev: Testing kernels against message specification
- Dev: The perfect pull request
- Dev: URL mapping of IPython notebook
- Dev: Windows Sophos issues
- Dev:Codenames
- Extensions Index
- Fix the boot manager after install ubuntu with windows 8
- Frequently asked questions
- Install: Docker
- Install: Index
- Install: Mobile
- Install: Python 3
- IPEP 0: IPEP Template
- IPEP 10: kernel side filtering of display formats
- IPEP 11: Tab Completion System Refactor
- IPEP 12: Splitting KernelManager and KernelClient
- IPEP 13: Updating the Message Spec
- IPEP 14: Notebook Regression Tests
- IPEP 15: Autosaving the IPython Notebook
- IPEP 16: Notebook multi directory dashboard and URL mapping
- IPEP 17: Notebook Format 4
- IPEP 18: Text Editor for the Notebook
- IPEP 19: concurrent.futures (PEP 3148) for IPython.parallel
- IPEP 1: Cleanup and extension of the Magic system in IPython
- IPEP 20: Informal structure of cell metadata
- IPEP 21: Widget Messages
- IPEP 22: Notebook, new cell type "Comment"
- IPEP 23: Backbone.js Widgets
- IPEP 24: completion and object_info
- IPEP 25: Registry of installed kernels
- IPEP 26: Full Featured python js object bridge
- IPEP 27: Contents Service
- IPEP 28: Interleaving Widgets and Output
- IPEP 29: Project Governance
- IPEP 2: Input transformations
- IPEP 3: Multiuser support in the notebook
- IPEP 4: Python 3 Compatibility
- IPEP 5: Notebook JavaScript organization
- IPEP 6: Qt console additional pane
- IPEP 7: Subclients for the Notebook
- IPEP 8: Custom messages and message handlers
- IPEP 9: Slideshow from the notebook
- IPEPs: IPython Enhancement Proposals
- IPython 3.0 comm and widget migration document
- IPython kernels for other languages
- Lets talk Python
- News Categorization using Multinomial Naive Bayes
- Projects using IPython
- Projects using IPython: PyMAD
- Research at UC Berkeley using IPython
- Roadmap: IPython
- Roadmap: NBviewer
- ShowMeDo
- Sprints: PyCon2012
- Sprints: SciPy2012
- Sprints: SciPy2014
- Sprints: SciPy2014 Py3 BoF
- Sprints: SciPy2014 sprint ideas
- Syntax for code blocks
- Trash: 0.11 Migration
- Trash: Cookbook Adding support for ipipe
- Trash: Cookbook Custom completers
- Trash: Cookbook Custom magic commands
- Trash: Cookbook Custom magic examples
- Trash: Cookbook Defining prompts via hooks
- Trash: Cookbook envpersist
- Trash: Cookbook GVim integration
- Trash: Cookbook Integrate with any loop(panda3d example)
- Trash: Cookbook Interrupting threads
- Trash: Cookbook ipy_exportdb
- Trash: Cookbook ipy_render
- Trash: Cookbook Leo IPython Bridge
- Trash: Cookbook Logging
- Trash: Cookbook Moving config to IPython 0.11
- Trash: Cookbook Saving the session on exit
- Trash: Cookbook String list processing
- Trash: Cookbook The sh profile
- Trash: Cookbook User config file
- Trash: EuroSciPy2011
- Trash: IpyKit
- Trash: IPython:About
- Trash: Main Page
- Trash: Main Page PyCon12Sprint
- Trash: Old Embedding GTK
- Trash: Old Embedding Tkinter
- Trash: Parallel Computing
- Trash: Potential projects
- Trash: Py4Science
- Trash: Scratchpad
- Trash: Scratchpad Persistence
- Trash: Using ipipe
- Widgets
- Show 127 more pages…
Clone this wiki locally
IPython on GitHub
Notes on working with GitHub
Milestones
- 100% of confirmed issues should have a milestone.
- An issue should never be closed without a milestone.
- All pull requests should have a milestone.
- All issues closed should be marked with the next release milestone, next backport milestone, or no action.
- Open issues should only lack a milestone if:
- more clarification is required (label:
needs-info)
- more clarification is required (label:
- In general, there will be four milestones with open issues:
- next minor release. This milestone contains issues that should be backported for the next minor release. See below for information on backporting.
- next major release. This should be the default milestone of all issues. As the release approaches, issues can be explicitly bumped to next release + 1.
- next major release + 1. Only issues that we are confident will not be included in the next release go here. This milestone should be mostly empty until relatively close to release.
- wishlist. This is the milestone for issues that we have no immediate plans to address.
- The remaining milestone is no action for open or closed issues that require no action:
- Not actually an issue (e.g. questions, discussion, etc.)
- Duplicate of an existing Issue
- Closed because we won't fix it
- When an issue is closed with no action, it means that the issue will not be fixed, or it was not an issue at all.
- When closing an issue, it should always have one of these milestones:
- next minor release because the issue has been addressed
- next major release because the issue has been addressed
- no action because the issue will not be addressed, or it is a duplicate/non-issue.
In general: When in doubt, mark with next release. We can always push back when we get closer to a given release.
Labels and issues
Issues should always be labeled once they are confirmed (not necessary for issues that are still being clarified, or may be duplicates or not issues at all).
Some significant labels:
-
needs-info: issue needs more information from submitter before progress can be made -
bug: errors are raised, or unintended behavior occurs -
enhancement: improvements that are not bugs backport-X.Y.Z: Any fix for this issue should be backported to the maintenance branch.backports are expressed with milestones, starting with 2.1.-
prio-foo: a priority level for ranking issues - nonessential, but prio-high/low are useful for explicitly promoting/demoting issues, particularly when nearing release. -
ClosedPR: This issue is a reminder for a PR that was closed for going stale. -
sprint-friendly: Obvious or easy fixes, where
All confirmed issues should at least have a bug or enhancement label, and be marked with any affected components (e.g parallel, qtconsole, htmlnotebook), or particular sources of error (e.g. py3k or unicode) if we have appropriate labels.
The sprint-friendly label is probably the best place for new contributors to start.
Pull Requests
- All work is submitted via Pull Requests.
- Pull Requests can be submitted as soon as there is code worth discussing. Pull Requests track the branch, so you can continue to work after the PR is submitted. Review and discussion can begin well before the work is complete, and the more discussion the better. The worst case is that the PR is closed.
- Pull Requests that have stalled should be closed (see our policy on closing PRs)
- Pull Requests should always be made against master (backporting PRs is described below).
- Pull Requests should be tested, if feasible:
- bugfixes should include regression tests
- new behavior should at least get minimal exercise
Travis does a pretty good job testing IPython and Pull Requests, but it may make sense to manually perform tests (possibly with our test_pr script), particularly for PRs that affect IPython.parallel or Windows.
Opening an Issue
When opening a new issue, please take the following steps:
-
Search GitHub and/or Google for your issue to avoid duplicate reports. Keyword searches for your error messages are most helpful.
-
If possible, try updating to master and reproducing your issue, because we may have already fixed it.
-
Try to include a minimal reproducible test case
-
Include relevant system information. Start with the output of:
python -c "import IPython; print(IPython.sys_info())"And include any relevant package versions, depending on the issue, such as matplotlib, numpy, Qt, Qt bindings (PyQt/PySide), tornado, web browser, etc.
Backporting
- We should keep an
A.xmaintenance branch for backporting fixes from master. - That branch shall be called
A.x, e.g.2.x, not2.1. This way, there is only one maintenance branch per release series. - When an Issue is determined to be appropriate for backporting, it should be marked with the
A.Bmilestone. - Any Pull Request which addresses a backport issue should also receive the same milestone.
- Patches are backported to the maintenance branch by applying the pull request patch to the maintenance branch (currently with the backport_pr script).