[SciPy-user] ANN: SciKits Portal

Damian Eads eads at soe.ucsc.edu
Tue Dec 16 04:13:35 EST 2008


Hi Stefan,

This is very nice work and deeply needed. A portal such as this will
give SciKits a more professional presentation, and will build
confidence in our prospective users. It will also make SciKits more
accessible, easy-to-install and standardized, putting less burden on
users.

Janto Dreijer is off to a great start. A few comments:

1. Are you going to put the source used to generate the general pages
(e.g. About SciKits) in SVN? This way we can all collectively
wordsmith so that the text on SciKits web site is the best it can be.

2. Replace "Scipy" and "scipy" with "SciPy" when referring to the
SciPy tool suite. Use "scipy" (all lowercase) in a fixed-width font
when referring to the Python package name "scipy".

3. I would include a quick, one paragraph blurb on the main page
describing the purpose of the website. There should be no mention
about reasons why a package is a SciKit and not part of the main SciPy
because most users won't care. Here's a rough idea.

"Welcome to the SciKits Repository, a searchable index of optional,
add-on toolkits (called SciKits) for the SciPy platform. SciKits share
the common ``scikits`` namespace but are independently managed and
licensed under terms of the owner's choosing. SciKits cover a broad
spectrum of application domains including financial computation, audio
processing, geosciences, computer vision, engineering, machine
learning, medical computing, bioinformatics. Each SciKit has a detail
page with a description for it, its licensing terms, installation
instructions, and documentation."

4. Will the front page include a chronologically sorted list of the
latest releases of SciKits, similar to mloss, freshmeat, PyPi, or
SourceForge?

5. You mention that you have a Google Web App that scans the SciKits
trunk. Perhaps as SciKits grows, having all the SciKits in one SVN
repository will become unmanageable? Also, are there plans to have an
administrative interface for developers to edit information for their
packages and announce releases? Will the web app provide all the
flexibility we need in this regard?

6. The "About" page should start with a motivation paragraph.

"SciPy has emerged as a common platform for developing scientific
applications in Python. Since its inception, a large number of
packages have been founded by a growing and diverse community of
developers. Many of these packages cannot be included in SciPy because
either they are too specialized, they are subject to licensing terms
deemed incompatible with SciPy, they have too many dependencies, or
they do not yet meet the standards of consistency or maturity for
inclusion. A strong need has arisen for better infrastructure to
organize this growing corpora of third-party SciPy packages into a
cohesive framework. The SciKits Repository has been founded to address
this need."

7. A "reason" cannot use a namespace. Packages use namespaces. :-)

8. The page is a bit too oversectioned. "About the implementation"
should not be a subsection of "About the listing". I would even argue
that users might be turned away by the section "About the
implementation" because few are going to care how the underlying index
is implemented. The motivation "The goal is to introduce people to
scikits packages that are relavant to them and get them to where they
need to be fast" is obvious. This ideal is universal to all software
directory listings and search engines, i.e. infer the user's
information needs and provide information consistent with those needs.

9. Perhaps have two sections, Users and Developers? The text below is
some half-baked text I wrote that we could use as a starting point.

Users
-------

The SciKits Repository is a searchable, multi-level index of SciKit
packages. All SciKits share a common, top-level Python package
namespace called ``scikits``. Each SciKit has a detail page with a
description, licensing terms, download and installation instructions,
links to documentation, information on SVN access, and instructions on
running its regression tests (if available).

Most SciKits are available for download on the Python Package Index
(PyPi), see http://pypi.python.org. Some SciKits are packaged on
Ubuntu, Fedora, Debian, Red Hat, and other operating systems. See the
detail information for more information on choices available for
installing a particular SciKit.

Note that SciKits are not all offered under the same licensing terms.
Some SciKits are offered under the terms of the BSD or LGPL while
others are copyleft, distributed under the GPL or other licenses.

Developers
--------------

The SciPy community encourages developers to use the SciKits
infrastructure to maintain cohesiveness. By publishing your package as
a SciKit, interested users can more easily access it in a single
place. By following the optional guidelines established by the SciKits
community, consistency is improved, making SciKit packages easier to
use and strengthening the user base.

Developers can create a new SciKit by submitting a new Project Request
[link]. A project name, description, desired Python package name, and
licensing terms are provided. Once approved, a project detail page is
created and the ``scikits`` Python package name is reserved for the
project's use. Package maintainers can log-in to announce releases,
change information on their project's detail page, or set permissions
of their developers.

If needed, developers can also request SVN hosting for their packages.
Using version control provided by SourceForge, Google Code, Savannah,
or other software hosting site is also acceptable.

Developers are encouraged to write their function and class
documentation using ReStructuredText. ReStructuredText has been
adopted by a wide variety of popular Python packages including SciPy
itself. A brief tutorial on writing documentation in ReStructuredText
is available here.

To maintain consistency, templates are provided for common development tasks.

   * [link: Build Scripts] contains build script templates for basic
building and making C extensions. Instructions are provided on how to
create easy_installer scripts and Windows installers.

   * [link: ReStructuredText]: instructions on writing API
documentation in ReStructuredText format.

   * [link: Documentation] templates for creating API documentation,
tutorials, and user's guides for Sphinx.

-----

Again, nice work. I look forward to seeing how the SciKits website evolves.

Cheers,

Damian

On Mon, Dec 15, 2008 at 8:02 AM, Stéfan van der Walt <stefan at sun.ac.za> wrote:
> Dear SciPy Community
>
> In recent discussions it came to light that SciKits, our equivalent of
> toolboxes or packages, fullfil an important role in the SciPy
> life-cycle.  First, it is a staging ground for code to be included in
> SciPy, where code can mature in view of community feedback.  Second,
> it provides a home for packages with licenses or scope different to
> that of the main SciPy distribution.
>
> David Cournapeau and myself thought that a SciKits portal, similar in
> spirit to the GNU/R Package Repository [1] or the mloss.org site [2],
> would be a good way to market SciKits and to promote them for general
> use by the community.  The Division of Applied Mathematics at
> Stellenbosch University donated some funds, allowing us to hire Janto
> Dreijer to bring this idea to fruition.  The resulting
> work-in-progress can be found here:
>
> http://scikits.appspot.com
>
> Features include:
>
> - Aggregation of information on SciKits, based on PyPi entries
> - Short, permanent URLs to refer to packages, e.g.
> http://scikits.appspot.com/example or http://scikits.appspot.com/ann
> (the domain should become scikits.scipy.org).
> - Automatically generated (and templated) installation instructions
> - ReStructuredText rendering of package descriptions as provided by
> authors (currently disabled)
> - Searchable package listing (weighted algorithm to be implemented)
>
> Please note that the current text snippets are just place-holders, and
> that they can be changed by any person with the appropriate
> permissions.
>
> We would like to invite the community to give feedback, so that we can
> improve the framework further and make a useful contribution.
>
> Thank you for reading, and happy hacking!
> Stéfan
>
> [1] http://cran.r-project.org/web/packages/
> [2] http://mloss.org/software/language/python/
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>

-- 
-----------------------------------------------------
Damian Eads                             Ph.D. Student
Jack Baskin School of Engineering, UCSC        E2-489
1156 High Street                 Machine Learning Lab
Santa Cruz, CA 95064    http://www.soe.ucsc.edu/~eads



More information about the SciPy-User mailing list