Skip to content

Commit

Permalink
Merge pull request #451 from petl-developers/migrate-org-20180725
Browse files Browse the repository at this point in the history
Migrate to shared org
  • Loading branch information
alimanfoo committed Jul 25, 2018
2 parents 30e685d + b42fc51 commit d704a58
Show file tree
Hide file tree
Showing 21 changed files with 315 additions and 192 deletions.
4 changes: 4 additions & 0 deletions .coveragerc
@@ -0,0 +1,4 @@
[report]
exclude_lines =
pragma: no cover
pragma: ${PY_MAJOR_VERSION} no cover
7 changes: 4 additions & 3 deletions .travis.yml
Expand Up @@ -11,6 +11,7 @@ before_install:
- sudo apt-get -qq update
- sudo apt-get build-dep -y python-h5py
install:
- pip install -U pip setuptools wheel
- pip install -r ci_requirements.txt
script: nosetests -v
- pip install -U pip setuptools wheel tox-travis coveralls
script: tox
after_success:
- coveralls
49 changes: 49 additions & 0 deletions appveyor.yml
@@ -0,0 +1,49 @@
branches:
only:
- master

environment:

global:
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
# /E:ON and /V:ON options are not enabled in the batch script intepreter
# See: http://stackoverflow.com/a/13751649/163740
CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\build.cmd"

matrix:

- PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7"

- PYTHON: "C:\\Python27-x64"
PYTHON_VERSION: "2.7"
DISTUTILS_USE_SDK: "1"

- PYTHON: "C:\\Python34"
PYTHON_VERSION: "3.4"

- PYTHON: "C:\\Python34-x64"
PYTHON_VERSION: "3.4"
DISTUTILS_USE_SDK: "1"

- PYTHON: "C:\\Python35"
PYTHON_VERSION: "3.5"

- PYTHON: "C:\\Python35-x64"
PYTHON_VERSION: "3.5"

- PYTHON: "C:\\Python36"
PYTHON_VERSION: "3.6"

- PYTHON: "C:\\Python36-x64"
PYTHON_VERSION: "3.6"

install:
- "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"

build: off

test_script:
- "%CMD_IN_ENV% python -m pip install -U pip setuptools wheel nose"
- "%CMD_IN_ENV% python setup.py install"
- "%CMD_IN_ENV% python -m nose -v petl"
47 changes: 47 additions & 0 deletions build.cmd
@@ -0,0 +1,47 @@
:: To build extensions for 64 bit Python 3, we need to configure environment
:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of:
:: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1)
::
:: To build extensions for 64 bit Python 2, we need to configure environment
:: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of:
:: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0)
::
:: 32 bit builds do not require specific environment configurations.
::
:: Note: this script needs to be run with the /E:ON and /V:ON flags for the
:: cmd interpreter, at least for (SDK v7.0)
::
:: More details at:
:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows
:: http://stackoverflow.com/a/13751649/163740
::
:: Author: Olivier Grisel
:: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/
@ECHO OFF

SET COMMAND_TO_RUN=%*
SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows

SET MAJOR_PYTHON_VERSION="%PYTHON_VERSION:~0,1%"
IF %MAJOR_PYTHON_VERSION% == "2" (
SET WINDOWS_SDK_VERSION="v7.0"
) ELSE IF %MAJOR_PYTHON_VERSION% == "3" (
SET WINDOWS_SDK_VERSION="v7.1"
) ELSE (
ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%"
EXIT 1
)

IF "%DISTUTILS_USE_SDK%"=="1" (
ECHO Configuring Windows SDK %WINDOWS_SDK_VERSION% for Python %MAJOR_PYTHON_VERSION% on a 64 bit architecture
SET DISTUTILS_USE_SDK=1
SET MSSdk=1
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
"%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
ECHO Executing: %COMMAND_TO_RUN%
call %COMMAND_TO_RUN% || EXIT 1
) ELSE (
ECHO Using default MSVC build environment
ECHO Executing: %COMMAND_TO_RUN%
call %COMMAND_TO_RUN% || EXIT 1
)
51 changes: 51 additions & 0 deletions docs/acknowledgments.rst
@@ -0,0 +1,51 @@
Acknowledgments
===============

This is community-maintained software. The following people have contributed to
the development of this package:

* Alexander Stauber
* Alistair Miles (`alimanfoo <https://github.com/alimanfoo>`_)
* Andreas Porevopoulos (`sv1jsb <https://github.com/sv1jsb>`_)
* Andrew Kim (`andrewakim <https://github.com/andrewakim>`_)
* Brad Maggard (`bmaggard <https://github.com/bmaggard>`_)
* Caleb Lloyd (`caleblloyd <https://github.com/caleblloyd>`_)
* César Roldán (`ihuro <https://github.com/ihuro>`_)
* Chris Lasher (`gotgenes <https://github.com/gotgenes>`_)
* Dean Way (`DeanWay <https://github.com/DeanWay>`_)
* Dustin Engstrom (`engstrom <https://github.com/engstrom>`_)
* Florent Xicluna (`florentx <https://github.com/florentx>`_)
* Henry Rizzi (`henryrizzi <https://github.com/henryrizzi>`_)
* Jonathan Camile (`deytao <https://github.com/deytao>`_)
* Jonathan Moss (`a-musing-moose <https://github.com/a-musing-moose>`_)
* Kenneth Borthwick
* Krisztián Fekete (`krisztianfekete <https://github.com/krisztianfekete>`_)
* Matt Katz (`mattkatz <https://github.com/mattkatz>`_)
* Matthew Scholefield (`MatthewScholefield <https://github.com/MatthewScholefield>`_)
* Michael Rea (`rea725 <https://github.com/rea725>`_)
* Olivier Macchioni (`omacchioni <https://github.com/omacchioni>`_)
* Olivier Poitrey (`rs <https://github.com/rs>`_)
* Pablo Castellano (`PabloCastellano <https://github.com/PabloCastellano>`_)
* Paul Jensen (`psnj <https://github.com/psnj>`_)
* Paulo Scardine (`scardine <https://github.com/scardine>`_)
* Peder Jakobsen (`pjakobsen <https://github.com/pjakobsen>`_)
* Phillip Knaus (`phillipknaus <https://github.com/phillipknauss>`_)
* Richard Pearson (`podpearson <https://github.com/podpearson>`_)
* Robert DeSimone (`icenine457 <https://github.com/icenine457>`_)
* Robin Moss (`LupusUmbrae <https://github.com/LupusUmbrae>`_)
* Roger Woodley (`rogerkwoodley <https://github.com/rogerkwoodley>`_)
* Tucker Beck (`dusktreader <https://github.com/dusktreader>`_)
* Viliam Segeďa (`vilos <https://github.com/vilos>`_)
* Zach Palchick (`palchicz <https://github.com/palchicz>`_)
* `adamsdarlingtower <https://github.com/adamsdarlingtower>`_
* `hugovk <https://github.com/hugovk>`_
* `imazor <https://github.com/imazor>`_
* `james-unified <https://github.com/james-unified>`_
* `Mgutjahr <https://github.com/Mgutjahr>`_
* `shayh <https://github.com/shayh>`_
* `thatneat <https://github.com/thatneat>`_
* `titusz <https://github.com/titusz>`_
* `zigen <https://github.com/zigen>`_

Development of petl has been supported by an open source license for
`PyCharm <https://www.jetbrains.com/pycharm/>`_.
65 changes: 47 additions & 18 deletions docs/changes.rst
@@ -1,59 +1,88 @@
Changes
=======

Version 1.2.0
-------------

Please note that this version drops support for Python 2.6 (:issue:`443`,
:issue:`444` - :user:`hugovk`).

* Function :func:`petl.transform.basics.addrownumbers` now supports a "field"
argument to allow specifying the name of the new field to be added
(:issue:`366`, :issue:`367` - :user:`thatneat`).
* Fix to :func:`petl.io.xlsx.fromxslx` to ensure that the underlying workbook is
closed after iteration is complete (:issue:`387` - :user:`mattkatz`).
* Resolve compatibility issues with newer versions of openpyxl
(:issue:`393`, :issue:`394` - :user:`henryrizzi`).
* Fix deprecation warnings from openpyxl (:issue:`447`, :issue:`445` -
:user:`scardine`; :issue:`449` - :user:`alimanfoo`).
* Changed exceptions to use standard exception classes instead of ArgumentError
(:issue:`396` - :user:`bmaggard`).
* Add support for non-numeric quoting in CSV files (:issue:`377`, :issue:`378`
- :user:`vilos`).
* Fix bug in handling of mode in MemorySource (:issue:`403` - :user:`bmaggard`).
* Added a get() method to the Record class (:issue:`401`, :issue:`402` -
:user:`dusktreader`).
* Added ability to make constraints optional, i.e., support validation on
optional fields (:issue:`399`, :issue:`400` - :user:`dusktreader`).
* Added support for CSV files without a header row (:issue:`421` -
:user:`LupusUmbrae`).
* Documentation fixes (:issue:`379` - :user:`DeanWay`; :issue:`381` -
:user:`PabloCastellano`).

Version 1.1.0
-------------

* Fixed :func:`petl.transform.reshape.melt` to work with non-string key
argument (`#209 <https://github.com/alimanfoo/petl/issues/209>`_).
argument (`#209 <https://github.com/petl-developers/petl/issues/209>`_).
* Added example to docstring of :func:`petl.transform.dedup.conflicts` to
illustrate how to analyse the source of conflicts when rows are merged from
multiple tables
(`#256 <https://github.com/alimanfoo/petl/issues/256>`_).
(`#256 <https://github.com/petl-developers/petl/issues/256>`_).
* Added functions for working with bcolz ctables, see :mod:`petl.io.bcolz`
(`#310 <https://github.com/alimanfoo/petl/issues/310>`_).
(`#310 <https://github.com/petl-developers/petl/issues/310>`_).
* Added :func:`petl.io.base.fromcolumns`
(`#316 <https://github.com/alimanfoo/petl/issues/316>`_).
(`#316 <https://github.com/petl-developers/petl/issues/316>`_).
* Added :func:`petl.transform.reductions.groupselectlast`.
(`#319 <https://github.com/alimanfoo/petl/issues/319>`_).
(`#319 <https://github.com/petl-developers/petl/issues/319>`_).
* Added example in docstring for :class:`petl.io.sources.MemorySource`
(`#323 <https://github.com/alimanfoo/petl/issues/323>`_).
(`#323 <https://github.com/petl-developers/petl/issues/323>`_).
* Added function :func:`petl.transform.basics.stack` as a simpler
alternative to :func:`petl.transform.basics.cat`. Also behaviour of
:func:`petl.transform.basics.cat` has changed for tables where the header
row contains duplicate fields. This was part of addressing a bug in
:func:`petl.transform.basics.addfield` for tables where the header
contains duplicate fields
(`#327 <https://github.com/alimanfoo/petl/issues/327>`_).
(`#327 <https://github.com/petl-developers/petl/issues/327>`_).
* Change in behaviour of :func:`petl.io.json.fromdicts` to preserve
ordering of keys if ordered dicts are used. Also added
:func:`petl.transform.headers.sortheader` to deal with unordered
cases
(`#332 <https://github.com/alimanfoo/petl/issues/332>`_).
(`#332 <https://github.com/petl-developers/petl/issues/332>`_).
* Added keyword `strict` to functions in the :mod:`petl.transform.setops`
module to enable users to enforce strict set-like behaviour if desired
(`#333 <https://github.com/alimanfoo/petl/issues/333>`_).
(`#333 <https://github.com/petl-developers/petl/issues/333>`_).
* Added `epilogue` argument to :func:`petl.util.vis.display` to enable further
customisation of content of table display in Jupyter notebooks
(`#337 <https://github.com/alimanfoo/petl/issues/337>`_).
(`#337 <https://github.com/petl-developers/petl/issues/337>`_).
* Added :func:`petl.transform.selects.biselect` as a convenience for
obtaining two tables, one with rows matching a condition, the other with
rows not matching the condition
(`#339 <https://github.com/alimanfoo/petl/issues/339>`_).
(`#339 <https://github.com/petl-developers/petl/issues/339>`_).
* Changed :func:`petl.io.json.fromdicts` to avoid making two passes through
the data
(`#341 <https://github.com/alimanfoo/petl/issues/341>`_).
(`#341 <https://github.com/petl-developers/petl/issues/341>`_).
* Changed :func:`petl.transform.basics.addfieldusingcontext` to enable
running calculations
(`#343 <https://github.com/alimanfoo/petl/issues/343>`_).
(`#343 <https://github.com/petl-developers/petl/issues/343>`_).
* Fix behaviour of join functions when tables have no non-key fields
(`#345 <https://github.com/alimanfoo/petl/issues/345>`_).
(`#345 <https://github.com/petl-developers/petl/issues/345>`_).
* Fix incorrect default value for 'errors' argument when using codec module
(`#347 <https://github.com/alimanfoo/petl/issues/347>`_).
(`#347 <https://github.com/petl-developers/petl/issues/347>`_).
* Added some documentation on how to write extension classes, see :doc:`intro`
(`#349 <https://github.com/alimanfoo/petl/issues/349>`_).
(`#349 <https://github.com/petl-developers/petl/issues/349>`_).
* Fix issue with unicode field names
(`#350 <https://github.com/alimanfoo/petl/issues/350>`_).
(`#350 <https://github.com/petl-developers/petl/issues/350>`_).

Version 1.0
-----------
Expand Down Expand Up @@ -135,7 +164,7 @@ from the `petlx.ipython` package. If you are working within the
IPython notebook these functions give greater control over how tables
are rendered. For some examples, see:

http://nbviewer.ipython.org/github/alimanfoo/petl/blob/v1.0/repr_html.ipynb
http://nbviewer.ipython.org/github/petl-developers/petl/blob/v1.0/repr_html.ipynb

Database extract/load functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
6 changes: 4 additions & 2 deletions docs/conf.py
Expand Up @@ -37,15 +37,17 @@ def get_version(source=os.path.abspath('../petl/__init__.py')):
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest',
'sphinx.ext.intersphinx', 'sphinx.ext.todo',
'sphinx.ext.coverage', 'sphinx.ext.pngmath',
'sphinx.ext.ifconfig', 'sphinx.ext.viewcode']
'sphinx.ext.coverage', 'sphinx.ext.imgmath',
'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', 'sphinx_issues']

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# The suffix of source filenames.
source_suffix = '.rst'

issues_github_path = 'petl-developers/petl'

# The encoding of source files.
#source_encoding = 'utf-8-sig'

Expand Down
8 changes: 4 additions & 4 deletions docs/contributing.rst
Expand Up @@ -29,7 +29,7 @@ suite with::
$ pip install nose
$ nosetests -v

Currently :mod:`petl` supports Python 2.7, 3.4, and 3.5
Currently :mod:`petl` supports Python 2.7, 3.4, 3.5 and 3.6
so the tests should pass under all these Python versions.

Dependencies
Expand Down Expand Up @@ -65,7 +65,7 @@ Running doctests
----------------

Doctests in docstrings should (almost) all be runnable, and should
pass if run with Python 3.4. Doctests can be run with `nose
pass if run with Python 3.6. Doctests can be run with `nose
<https://nose.readthedocs.org/>`_. See the tox.ini file for example
doctest commands.

Expand All @@ -85,12 +85,12 @@ Automatically running all tests

All of the above tests can be run automatically using `tox
<https://tox.readthedocs.org/>`_. You will need binaries for Python
2.7 and 3.4 available on your system.
2.7 and 3.6 available on your system.

To run all tests **without** installing any of the optional
dependencies, do::

$ tox -e py27,py34,doctests
$ tox -e py27,py36,doctests

To run the entire test suite, including installation of **all**
optional dependencies, do::
Expand Down
7 changes: 4 additions & 3 deletions docs/index.rst
Expand Up @@ -7,7 +7,7 @@ petl - Extract, Transform and Load (Tables of Data)
and loading tables of data.

- Documentation: http://petl.readthedocs.org/
- Source Code: https://github.com/alimanfoo/petl
- Source Code: https://github.com/petl-developers/petl
- Download: http://pypi.python.org/pypi/petl
- Mailing List: http://groups.google.com/group/python-etl

Expand All @@ -16,10 +16,10 @@ Please feel free to ask questions via the mailing list

To report installation problems, bugs or any other issues please email
python-etl@googlegroups.com or `raise an issue on GitHub
<https://github.com/alimanfoo/petl/issues/new>`_.
<https://github.com/petl-developers/petl/issues/new>`_.

For an example of :mod:`petl` in use, see the `case study on comparing tables
<http://nbviewer.ipython.org/github/alimanfoo/petl/tree/master/notes/case_study_1.ipynb>`_.
<http://nbviewer.ipython.org/github/petl-developers/petl/tree/master/notes/case_study_1.ipynb>`_.

For an alphabetic list of all functions in the package,
see the :ref:`genindex`.
Expand All @@ -38,6 +38,7 @@ see the :ref:`genindex`.
util
changes
contributing
acknowledgments
related_work

Indices and tables
Expand Down

0 comments on commit d704a58

Please sign in to comment.