summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2011-05-22 19:36:38 -0400
committerKenneth Reitz <me@kennethreitz.com>2011-05-22 19:36:38 -0400
commit273d2729ee60a15cc408a55d7165fdcc2fb1b3a1 (patch)
treef13da506261b73b08223b56f2bfb46832f3a563d
parent3036bc9e52adfbb47945339226c6a05087ff36f3 (diff)
downloadtablib-feature/apache.tar.gz
-rw-r--r--LICENSE26
-rw-r--r--docs/development.rst54
-rw-r--r--docs/index.rst2
-rw-r--r--docs/intro.rst58
4 files changed, 68 insertions, 72 deletions
diff --git a/LICENSE b/LICENSE
index ea8c217..b6bcf64 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,19 +1,13 @@
-Copyright (c) 2011 Kenneth Reitz.
+Copyright 2011 Kenneth Reitz
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+ http://www.apache.org/licenses/LICENSE-2.0
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE. \ No newline at end of file
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. \ No newline at end of file
diff --git a/docs/development.rst b/docs/development.rst
index 6255d5e..cd6fd13 100644
--- a/docs/development.rst
+++ b/docs/development.rst
@@ -5,7 +5,8 @@ Development
Tablib is under active development, and contributors are welcome.
-If you have a feature request, suggestion, or bug report, please open a new issue on GitHub_. To submit patches, please send a pull request on GitHub_.
+If you have a feature request, suggestion, or bug report, please open a new
+issue on GitHub_. To submit patches, please send a pull request on GitHub_.
If you'd like to contribute, there's plenty to do. Here's a short todo list.
@@ -42,19 +43,20 @@ Source Control
--------------
-Tablib source is controlled with Git_, the lean, mean, distributed source control machine.
+Tablib source is controlled with Git_, the lean, mean, distributed source
+control machine.
The repository is publicly accessable.
``git clone git://github.com/kennethreitz/tablib.git``
-
+
The project is hosted both on **GitHub** and **git.kennethreitz.com**.
-
-
- GitHub:
+
+
+ GitHub:
http://github.com/kennethreitz/tablib
- "Mirror":
- http://git.kennethreitz.com/projects/tablib
+ "Mirror":
+ http://git.kennethreitz.com/projects/tablib
Git Branch Structure
@@ -100,27 +102,27 @@ Tablib features a micro-framework for adding format support. The easiest way to
1. Write a new format interface.
:class:`tablib.core` follows a simple pattern for automatically utilizing your format throughout Tablib. Function names are crucial.
-
+
Example **tablib/formats/_xxx.py**: ::
title = 'xxx'
-
+
def export_set(dset):
....
# returns string representation of given dataset
-
+
def export_book(dbook):
....
# returns string representation of given databook
-
+
def import_set(dset, in_stream):
...
# populates given Dataset with given datastream
-
+
def import_book(dbook, in_stream):
...
# returns Databook instance
-
+
def detect(stream):
...
# returns True if given stream is parsable as xxx
@@ -130,7 +132,7 @@ Tablib features a micro-framework for adding format support. The easiest way to
If the format excludes support for an import/export mechanism (*eg.* :class:`csv <tablib.Dataset.csv>` excludes :class:`Databook <tablib.Databook>` support), simply don't define the respective functions. Appropriate errors will be raised.
-2.
+2.
Add your new format module to the :class:`tablib.formats.avalable` tuple.
@@ -152,7 +154,7 @@ When developing a feature for Tablib, the easiest way to test your changes for p
$ ./test_tablib.py
-`Hudson CI`_, amongst other tools, supports Java's xUnit testing report format. Nose_ allows us to generate our own xUnit reports.
+`Hudson CI`_, amongst other tools, supports Java's xUnit testing report format. Nose_ allows us to generate our own xUnit reports.
Installing nose is simple. ::
@@ -174,14 +176,14 @@ This will generate a **nosetests.xml** file, which can then be analyzed.
Continuous Integration
----------------------
-Every commit made to the **develop** branch is automatically tested and inspected upon receipt with `Hudson CI`_. If you have access to the main repository and broke the build, you will receive an email accordingly.
+Every commit made to the **develop** branch is automatically tested and inspected upon receipt with `Hudson CI`_. If you have access to the main repository and broke the build, you will receive an email accordingly.
Anyone may view the build status and history at any time.
http://ci.kennethreitz.com/
-If you are trustworthy and plan to contribute to tablib on a regular basis, please contact `Kenneth Reitz`_ to get an account on the Hudson Server.
+If you are trustworthy and plan to contribute to tablib on a regular basis, please contact `Kenneth Reitz`_ to get an account on the Hudson Server.
Additional reports will also be included here in the future, including :pep:`8` checks and stress reports for extremely large datasets.
@@ -196,17 +198,17 @@ Additional reports will also be included here in the future, including :pep:`8`
Building the Docs
-----------------
-Documentation is written in the powerful, flexible, and standard Python documentation format, `reStructured Text`_.
+Documentation is written in the powerful, flexible, and standard Python documentation format, `reStructured Text`_.
Documentation builds are powered by the powerful Pocoo project, Sphinx_. The :ref:`API Documentation <api>` is mostly documented inline throughout the module.
The Docs live in ``tablib/docs``. In order to build them, you will first need to install Sphinx. ::
$ pip install sphinx
-
+
Then, to build an HTML version of the docs, simply run the following from the **docs** directory: ::
- $ make html
+ $ make html
Your ``docs/_build/html`` directory will then contain an HTML representation of the documentation, ready for publication on most web servers.
@@ -214,10 +216,10 @@ You can also generate the documentation in **ebpub**, **latex**, **json**, *&c*
.. admonition:: GitHub Pages
- To push the documentation up to `GitHub Pages`_, you will first need to run `sphinx-to-github`_ against your ``docs/_build/html`` directory.
-
+ To push the documentation up to `GitHub Pages`_, you will first need to run `sphinx-to-github`_ against your ``docs/_build/html`` directory.
+
GitHub Pages are powered by an HTML generation system called Jeckyl_, which is configured to ignore files and folders that begin with "``_``" (*ie.* **_static**).
-
+
@@ -232,8 +234,8 @@ You can also generate the documentation in **ebpub**, **latex**, **json**, *&c*
Running it against the docs is even simpler. ::
$ sphinx-to-github _build/html
-
- Move the resulting files to the **gh-pages** branch of your repository, and push it up to GitHub.
+
+ Move the resulting files to the **gh-pages** branch of your repository, and push it up to GitHub.
.. _`reStructured Text`: http://docutils.sourceforge.net/rst.html
.. _Sphinx: http://sphinx.pocoo.org
diff --git a/docs/index.rst b/docs/index.rst
index 25ceb85..bd262f3 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -22,7 +22,7 @@ Release v\ |version|. (:ref:`Installation <install>`)
.. * :ref:`search`
-Tablib is an :ref:`MIT Licensed <mit>` format-agnostic tabular dataset library, written in Python. It allows you to import, export, and manipulate tabular data sets. Advanced features include, segregation, dynamic columns, tags & filtering, and seamless format import & export.
+Tablib is an :ref:`Apache Licensed <apache>` format-agnostic tabular dataset library, written in Python. It allows you to import, export, and manipulate tabular data sets. Advanced features include, segregation, dynamic columns, tags & filtering, and seamless format import & export.
::
diff --git a/docs/intro.rst b/docs/intro.rst
index 971afbd..5ac92b8 100644
--- a/docs/intro.rst
+++ b/docs/intro.rst
@@ -4,7 +4,10 @@ Introduction
============
This part of the documentation covers all the interfaces of Tablib.
-Tablib is a format-agnostic tabular dataset library, written in Python. It allows you to Pythonically import, export, and manipulate tabular data sets. Advanced features include, segregation, dynamic columns, tags / filtering, and seamless format import/export.
+Tablib is a format-agnostic tabular dataset library, written in Python.
+It allows you to Pythonically import, export, and manipulate tabular data sets.
+Advanced features include, segregation, dynamic columns, tags / filtering, and
+seamless format import/export.
Philosphy
@@ -21,47 +24,44 @@ Tablib was developed with a few :pep:`20` idioms in mind.
All contributions to Tablib should keep these important rules in mind.
-.. _mit:
+.. _apache:
-MIT License
------------
+Apache License v2
+-----------------
-A large number of open source projects you find today are `GPL Licensed`_. While the GPL has its time and place, it should most certainly not be your go-to license for your next open source project.
+A large number of open source projects you find today are `GPL Licensed`_.
+While the GPL has its time and place, it should most certainly not be your
+go-to license for your next open source project.
-A project that is released as GPL cannot be used in any commercial product without the product itself also being offered as open source. The MIT, BSD, and ISC licenses are great alternatives to the GPL that allow your open-source software to be used in proprietary, closed-source software.
+A project that is released as GPL cannot be used in any commercial product
+without the product itself also being offered as open source. The MIT, BSD, and
+ISC licenses are great alternatives to the GPL that allow your open-source
+software to be used in proprietary, closed-source software.
-Tablib is released under terms of `The MIT License`_.
+Tablib is released under terms of `The Apache License v2`_.
.. _`GPL Licensed`: http://www.opensource.org/licenses/gpl-license.php
-.. _`The MIT License`: http://www.opensource.org/licenses/mit-license.php
+.. _`The Apache License v2`: http://opensource.org/licenses/Apache-2.0
-.. note::
- Tablib will be moved to the `Apache 2 License <http://www.apache.org/licenses/LICENSE-2.0>`_ upon the release of v1.0.0.
.. _license:
Tablib License
--------------
-Copyright (c) 2011 Kenneth Reitz.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+Copyright 2011 Kenneth Reitz
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
.. _pythonsupport: