{"id":20448623,"url":"https://github.com/datacamp/ipython_nose","last_synced_at":"2025-09-24T17:30:58.408Z","repository":{"id":147371509,"uuid":"104800790","full_name":"datacamp/ipython_nose","owner":"datacamp","description":null,"archived":false,"fork":false,"pushed_at":"2018-02-06T15:34:09.000Z","size":68,"stargazers_count":2,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-15T10:48:29.169Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datacamp.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-25T20:51:31.000Z","updated_at":"2024-08-07T10:19:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa35edc5-9789-471c-9665-e63fc4c897d8","html_url":"https://github.com/datacamp/ipython_nose","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacamp%2Fipython_nose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacamp%2Fipython_nose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacamp%2Fipython_nose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datacamp%2Fipython_nose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datacamp","download_url":"https://codeload.github.com/datacamp/ipython_nose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234103356,"owners_count":18780226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T10:35:57.819Z","updated_at":"2025-09-24T17:30:58.051Z","avatar_url":"https://github.com/datacamp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"ipython_nose\n------------\n\nThis little IPython extension gives you the ability to discover and\nrun tests using Nose in an IPython Notebook.\n\n\nInstallation\n------------\n\n* Make sure your IPython Notebook server can import ``ipython_nose.py`` (e.g.\n  copy it to a directory in your ``PYTHONPATH``, or modify ``PYTHONPATH``\n  before starting IPython Notebook). It's also probably sufficient to have\n  ``ipython_nose.py`` in the directory from which you run the notebook, e.g.::\n\n    $ ls\n    ipython_nose.py\n    $ ipython notebook\n\n* You can also install it in a virtualenv in developent mode::\n\n    $ cd ipython-nose\n    $ pip install -e .\n\n\nUsage\n-----\n\n* Add a cell containing::\n\n    %load_ext ipython_nose\n\n  somewhere in your notebook.\n\n* Write tests that conform to Nose conventions, e.g.::\n\n    def test_arithmetic():\n        assert 1+1 == 2\n\n* Add a cell consisting of::\n\n    %nose\n\n  to your notebook and run that cell. That will discover your\n  ``test_*`` functions, run them, and report how many passed and\n  how many failed, with stack traces for each failure.\n\n* Pass standard nose arguments to the magic::\n\n    %nose -v -x\n\n  ``-v`` is handled specially, but other arguments are passed to nosetests as\n  if they were passed at the command-line.\n\n* Only run test-like things in the current cell using the ``%%nose`` cell magic,\n  e.g.::\n\n    %%nose\n\n    def test_just_this():\n        assert True\n\n\nCaveats\n-------\n\n* Renaming tests leaves behind the old name: you might only see N\n  test methods in your notebook, but Nose will discover and run N+1\n  tests. Not sure how to fix this one.\n\n* Links between the stack traces and the code are only cell deep. For example,\n  in a stack trace that looks like::\n\n    Traceback (most recent call last):\n      File \"/usr/lib/python2.7/dist-packages/nose/case.py\", line 197, in runTest\n        self.test(*self.arg)\n      File \"\u003cipython-input-10-a3ae96abafeb\u003e\", line 2, in test_myfunc\n        assert myfunc() == 42\n    AssertionError\n\n  the frame name ``ipython-input-10-a3ae96abafeb`` is a link to cell 10, but\n  not specifically to line 2.\n\n\nAuthors\n-------\n\n* Taavi Burns \u003ctaavi at taaviburns dot ca\u003e\n* Greg Ward \u003cgreg at gerg dot ca\u003e\n\nThanks to Fernando Perez and Greg Wilson for tips, ideas, etc.\n\nThanks to Catherine Devlin for publishing `ipython_doctester\n\u003chttps://github.com/catherinedevlin/ipython_doctester/\u003e`_ so we could peek\nat its guts.\n\n\nGet the code\n------------\n\n::\n\n  git clone https://github.com/taavi/ipython_nose.git\n\n\nCopyright\n---------\n\nCopyright (c) 2012, Taavi Burns, Greg Ward.\n\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or\nother materials provided with the distribution.\n\nNeither the name of the developers nor the names of contributors may\nbe used to endorse or promote products derived from this software\nwithout specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatacamp%2Fipython_nose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatacamp%2Fipython_nose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatacamp%2Fipython_nose/lists"}