Giter Club home page Giter Club logo

ipython-extensions's Introduction

IPython-contrib

IPython-contrib is an unofficial organisation that try to regroup project that are made to be used with IPython. Please ask if you want to add a project !

Contribute

You have a new project that extend IPython or a new magic ? Pleas ask we can create a repository to host your code and give you write access on it.

You have seen another project that should be mention here, tell us in the issue list.

Goal

We want to provide a better visibility of project that extend IPython by regrouping them under the same organisation. Project creator will still keep full control of their project but can easyli delegate work thanks to github "teams".

We do not require the same quality of code that is required to be part of the main IPython repository, but we do our best to came as close as possible from it.

This Repo

This repo is the master repo to track issues on the scale of the organisation, Each project can have it's own repository under the organisation with custom rights and sub-group of people that can push / pull etc...

We will probably also get a Misc repository that store configuration and code snippets that are below 50 lines or for which a full repository is overkill.

ipython-extensions's People

Contributors

carreau avatar jankatins avatar juhasch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ipython-extensions's Issues

Missing README.md file

Encountered this issue when installing with pip install ipyext

Collecting ipyext
  Using cached https://files.pythonhosted.org/packages/1e/eb/c0ca3aec31d5cd658d3ad9fb4427e36831eba1320e5e4fa9cb7f86e33345/ipyext-0.1.0.zip
    Complete output from command python setup.py egg_info:
    !!! DON'T UPLOAD TO PyPI, DESCRIPTION IS WRONG FORMAT
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-_yZbeC/ipyext/setup.py", line 22, in <module>
        with io.open('README.md', encoding="utf-8") as f:
    IOError: [Errno 2] No such file or directory: 'README.md'

Could be fixed by including a MANIFEST.in file

Make a release

What am I doing wrong? Is it a temporary issue?

pip install ipyext
Collecting ipyext
  Could not find a version that satisfies the requirement ipyext (from versions: )
No matching distribution found for ipyext


pip --version
pip 7.1.2 from /Users/sam/anaconda/lib/python3.4/site-packages (python 3.4)

Conda package shows dependency on python 2.7

(root) C:\Users\amara>conda install -c https://conda.anaconda.org/janschulz ipyext
Fetching package metadata .................
Solving package specifications: .

UnsatisfiableError: The following specifications were found to be in conflict:
  - ipyext -> python 2.7*
  - python 3.6*
Use "conda info <package>" to see the dependencies for each package.

Other than that, just loading writeandexecute.py seems to work.

demo mode

R has the concept of a demo: https://stat.ethz.ch/R-manual/R-devel/library/utils/html/demo.html

It would be nice if we had a demo function, which would take a module/function and turn it into jupyter notebook cells:

from ipyext.demo import notebook_demo as demo # make it cristall clear that we only work in the notebook
import matplotlib.demo # something which isn't there yet :-)
demo(matplotlib.demo)
# shows available demos, as that's a module
demo(matplotlib.demo.gridspec)
# would add some cells below which are prefilled with examples how to use gridspec

Demo would:

  • make sure that the function takes no argument
  • get the source of a function and dedent it
  • split the source into blocks (code + comments with ^# Text -> comments with ^#text stay as comments in the code cell)
  • remove # from all comment lines
  • add the blocks to the notebook (see here for an example how to do that

Only problem when using functions: we can't use %magics in demos. Not sure if there is a workaround that, maybe treat #%magic ... as code, aka s/#%/%/ before splitting into blocks?

Folowup from Twitter

@asmeurer

The goal if the org and this repo is to have easier admin organisation, and centralize small snippets.

Basically everyone is owner, so we can make simple bug fixes, or help users when one of us is unavaillable.

For small one file extension, we decided it was easier to have 1 repo with small file, but if you want 1 repo only for your extension, and be admin on it it's doable too.

It just much easier to point user to ipython-contrib than to remember the extension A in on github/carreau, extension B is on MinnRK, extension C is fperez_org, and have to bother the repo owner if the extension becomes unmaintained to add new contributors, people with commit rights.

So if you want to migrate your extension here, I would be happy to give you owner right, I like a few other from the org to agree too.

Is that more clear ?

It will be easier to discuss here than in 140 in Twitter.

Contributing guidelines?

IMO it would be good if each extension would have:

  • some tests (-> setup travis, give some example how to test magics)
  • a doc page (-> setup sphinx + readthedocs)

Any other requirements so that this doesn't become stale?

I will port a few extensions which I use to this repo and try to setup the build process, travis and the doc building and so on...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.