Merge pull request #4 from FrancescAlted/more-docs
authorJavier Sancho <jsf@jsancho.org>
Fri, 1 Jun 2018 10:27:21 +0000 (12:27 +0200)
committerGitHub <noreply@github.com>
Fri, 1 Jun 2018 10:27:21 +0000 (12:27 +0200)
More docs and other ancillary files

ANNOUNCE.md [new file with mode: 0644]
Dockerfile [new file with mode: 0644]
LICENSE
README.md
RELEASE_NOTES.md [new file with mode: 0644]
RELEASING.md [new file with mode: 0644]

diff --git a/ANNOUNCE.md b/ANNOUNCE.md
new file mode 100644 (file)
index 0000000..220af82
--- /dev/null
@@ -0,0 +1,26 @@
+# Announcing datasette-pytables 1.0.0
+
+## What's new
+
+This is the first public release.  Many things are working, most specially:
+
+* Filters (e.g. `temp >= 3`) are working.
+
+* Sorted by is working for columns with CSI indexes.
+
+* Pagination is implemented for the first dimension of tables or arrays.
+
+* Arrays can be visualized (at least when they are small).
+
+## What it is
+
+Datasette-PyTables provides a web interface and a JSON API for [PyTables](https://github.com/PyTables/PyTables) files, allowing them to be accessible for e.g. Javascript programs. It works in conjunction with [Datasette-Core](https://github.com/PyTables/datasette-core), a trivial fork of the original [Datasette](https://github.com/simonw/datasette), which provides a web interface for SQLite files.  This fork is able to work with SQLite files, like the original project, but can accept external connectors for any kind of database files, so you can develop your own connector for your favourite data container if you want (read [developers doc](https://github.com/PyTables/datasette-pytables/blob/master/DEVELOPERS.md)).
+
+## Resources
+
+Visit the main datasette-pytables site repository at:
+https://github.com/PyTables/datasette-pytables
+
+----
+
+  **Enjoy data!**
diff --git a/Dockerfile b/Dockerfile
new file mode 100644 (file)
index 0000000..28f3ca7
--- /dev/null
@@ -0,0 +1,42 @@
+FROM python:3.6-slim-stretch as build
+
+# Setup build dependencies
+RUN apt update \
+&& apt install -y python3-dev build-essential wget libxml2-dev libproj-dev libgeos-dev libsqlite3-dev zlib1g-dev pkg-config \
+ && apt clean
+
+
+RUN wget "https://www.sqlite.org/2018/sqlite-autoconf-3230100.tar.gz" && tar xzf sqlite-autoconf-3230100.tar.gz \
+    && cd sqlite-autoconf-3230100 && ./configure --disable-static --enable-fts5 --enable-json1 CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_JSON1" \
+    && make && make install
+
+RUN wget "https://www.gaia-gis.it/gaia-sins/freexl-1.0.5.tar.gz" && tar zxf freexl-1.0.5.tar.gz \
+    && cd freexl-1.0.5 && ./configure && make && make install
+
+RUN wget "https://www.gaia-gis.it/gaia-sins/libspatialite-4.4.0-RC0.tar.gz" && tar zxf libspatialite-4.4.0-RC0.tar.gz \
+    && cd libspatialite-4.4.0-RC0 && ./configure && make && make install
+
+RUN wget "https://www.gaia-gis.it/gaia-sins/readosm-1.1.0.tar.gz" && tar zxf readosm-1.1.0.tar.gz && cd readosm-1.1.0 && ./configure && make && make install
+
+RUN wget "https://www.gaia-gis.it/gaia-sins/spatialite-tools-4.4.0-RC0.tar.gz" && tar zxf spatialite-tools-4.4.0-RC0.tar.gz \
+    && cd spatialite-tools-4.4.0-RC0 && ./configure && make && make install
+
+
+# Add local code to the image instead of fetching from pypi.
+COPY . /datasette-pytables
+
+RUN pip install /datasette-pytables
+
+FROM python:3.6-slim-stretch
+
+# Copy python dependencies and spatialite libraries
+COPY --from=build /usr/local/lib/ /usr/local/lib/
+# Copy executables
+COPY --from=build /usr/local/bin /usr/local/bin
+# Copy spatial extensions
+COPY --from=build /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu
+
+ENV LD_LIBRARY_PATH=/usr/local/lib
+
+EXPOSE 8001
+CMD ["datasette"]
diff --git a/LICENSE b/LICENSE
index 8dada3e..1ccbeea 100644 (file)
--- a/LICENSE
+++ b/LICENSE
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright {yyyy} {name of copyright owner}
+   Copyright {2018} {PyTables developers}
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
index 3871d78..76d79cd 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
 
 # datasette-pytables
 
-Datasette-PyTables provides a web interface and a JSON API for [PyTables](https://github.com/PyTables/PyTables) files, allowing them to be accessible for e.g. Javascript programs. It works in conjunction with [Datasette-Core](https://github.com/PyTables/datasette-core), a trivial fork of the original [Datasette](https://github.com/simonw/datasette), which provides a web interface for SQLite files.  This fork is able to work with SQLite files, like the original project, but can accept external connectors for any kind of database files, so you can develop your own connector for your favourite data container if you want (read [developers doc](https://github.com/PyTables/datasette-pytables/blob/master/DEVELOPERS.md))
+Datasette-PyTables provides a web interface and a JSON API for [PyTables](https://github.com/PyTables/PyTables) files, allowing them to be accessible for e.g. Javascript programs. It works in conjunction with [Datasette-Core](https://github.com/PyTables/datasette-core), a trivial fork of the original [Datasette](https://github.com/simonw/datasette), which provides a web interface for SQLite files.  This fork is able to work with SQLite files, like the original project, but can accept external connectors for any kind of database files, so you can develop your own connector for your favourite data container if you want (read [developers doc](https://github.com/PyTables/datasette-pytables/blob/master/DEVELOPERS.md)).
 
 ## Installation
 
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
new file mode 100644 (file)
index 0000000..2d99c61
--- /dev/null
@@ -0,0 +1,17 @@
+# Release notes for datasette-pytables
+
+
+## Changes from 1.0.0 to 1.0.1
+
+  #XXX version-specific blurb XXX#
+
+
+## Initial version 1.0.0
+
+* Filters (e.g. `temp >= 3`) are working.
+
+* Sorted by is working for columns with CSI indexes.
+
+* Pagination is implemented for the first dimension of tables or arrays.
+
+* Arrays can be visualized (at least when they are small).
diff --git a/RELEASING.md b/RELEASING.md
new file mode 100644 (file)
index 0000000..c4b8079
--- /dev/null
@@ -0,0 +1,108 @@
+# Releasing datasette-pytables
+
+Author: Javier Sancho, Francesc Alted
+Contact: jsf@jsancho.org, francesc@blosc.org
+Date: 2018-06-01
+
+
+## Preliminaries
+
+* Make sure that ``RELEASE_NOTES.md`` and ``ANNOUNCE.md`` are up to
+  date with the latest news in the release.
+
+* Commit your changes:
+
+```
+    $ git commit -a -m"Getting ready for X.Y.Z final"
+```
+
+* Once a year: check that the copyright year in `LICENSE` file.
+
+
+## Tagging
+
+* Create a tag ``X.Y.Z`` from ``master``.  Use the next message:
+
+```
+    $ git tag -a X.Y.Z -m "Tagging version X.Y.Z"
+```
+
+  Note: For release candidates, just add a rcN suffix to tag ("X.Y.ZrcN").
+
+* Or, alternatively, make a signed tag (requires gpg correctly configured):
+
+```
+    $ git tag -s X.Y.Z -m "Tagging version X.Y.Z"
+```
+
+* Push the tag to the Github repo:
+
+```
+    $ git push
+    $ git push --tags
+```
+
+
+## Testing
+
+* Go to the root directory and run:
+
+```
+    $ pytest
+```
+
+
+## Packaging
+
+* Make sure that you are in a clean directory.  The best way is to
+  re-clone and re-build:
+
+```
+  $ cd /tmp
+  $ git clone https://github.com/PyTables/datasette-pytables
+  $ cd datasette-pytables
+  $ python setup.py build
+```
+
+* Make the tarball with the command:
+
+```
+  $ python setup.py sdist
+```
+
+Do a quick check that the tarball is sane.
+
+
+## Uploading
+
+* Upload it also in the PyPi repository:
+
+```
+    $ python setup.py sdist upload
+```
+
+
+## Announcing
+
+* Send an announcement to the python-announce, python-users and pydata
+  lists.  Use the ``ANNOUNCE.md`` file as skeleton (or possibly as
+  the definitive version).
+
+* Tweet about the new release and rejoice!
+
+
+## Post-release actions
+
+* Create new headers for adding new features in ``RELEASE_NOTES.rst``
+  and add this place-holder instead:
+
+  #XXX version-specific blurb XXX#
+
+* Commit your changes with:
+
+```
+  $ git commit -a -m"Post X.Y.Z release actions done"
+```
+
+
+That's all folks!