Skip to content

Commit daff829

Browse files
committed
🎉 birth from yehua, a dedicated FAST xlsxr file reader.
0 parents  commit daff829

25 files changed

+606
-0
lines changed

.gitignore

+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# April 2016
2+
# reference: https://github.com/github/gitignore/blob/master/Python.gitignore
3+
# Byte-compiled / optimized / DLL files
4+
__pycache__/
5+
*.py[cod]
6+
*$py.class
7+
8+
# C extensions
9+
*.so
10+
11+
# Distribution / packaging
12+
.Python
13+
env/
14+
build/
15+
develop-eggs/
16+
dist/
17+
downloads/
18+
eggs/
19+
.eggs/
20+
lib/
21+
lib64/
22+
parts/
23+
sdist/
24+
var/
25+
*.egg-info/
26+
.installed.cfg
27+
*.egg
28+
29+
# PyInstaller
30+
# Usually these files are written by a python script from a template
31+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+
*.manifest
33+
*.spec
34+
35+
# Installer logs
36+
pip-log.txt
37+
pip-delete-this-directory.txt
38+
39+
# Unit test / coverage reports
40+
htmlcov/
41+
.tox/
42+
.coverage
43+
.coverage.*
44+
.cache
45+
nosetests.xml
46+
coverage.xml
47+
*,cover
48+
.hypothesis/
49+
50+
# Translations
51+
*.mo
52+
*.pot
53+
54+
# Django stuff:
55+
*.log
56+
local_settings.py
57+
58+
# Flask stuff:
59+
instance/
60+
.webassets-cache
61+
62+
# Scrapy stuff:
63+
.scrapy
64+
65+
# Sphinx documentation
66+
docs/_build/
67+
68+
# PyBuilder
69+
target/
70+
71+
# IPython Notebook
72+
.ipynb_checkpoints
73+
74+
# pyenv
75+
.python-version
76+
77+
# celery beat schedule file
78+
celerybeat-schedule
79+
80+
# dotenv
81+
.env
82+
83+
# virtualenv
84+
venv/
85+
ENV/
86+
87+
# Spyder project settings
88+
.spyderproject
89+
90+
# Rope project settings
91+
.ropeproject
92+
93+
# emacs
94+
*~
95+
96+
# moban hashes
97+
.moban.hashes
98+
.DS_store
99+

.moban.d/README.rst

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{% extends "BASIC-README.rst.jj2" %}
2+
3+
{%block constraint%}
4+
{%endblock%}
5+
6+
{%block features %}
7+
**{{name}}** does {{description}}.
8+
{%endblock%}

.moban.d/docs/source/conf.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{% extends 'docs/source/conf.py.jj2'%}
2+
3+
{%block SPHINX_EXTENSIONS%}
4+
'sphinx.ext.autosummary',
5+
'sphinxcontrib.spelling'
6+
{%endblock%}
7+
8+
{%block custom_doc_theme%}
9+
html_theme = 'default'
10+
11+
12+
def setup(app):
13+
app.add_stylesheet('theme_overrides.css')
14+
15+
16+
{%endblock%}
17+

.moban.d/requirements.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{% for dependency in dependencies: %}
2+
{{dependency}}
3+
{% endfor %}

.moban.d/setup.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{%extends "setup.py.jj2"%}
2+
3+
{%block platform_block%}
4+
{%endblock%}

.moban.d/test.bat

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{% extends "test.sh.jj2" %}
2+
3+
{%block pretest %}
4+
cd tests\test_plugin
5+
python setup.py install
6+
cd ..\..\
7+
{%endblock %}
8+
9+
{%block flake8_options%}
10+
--builtins=unicode,xrange,long
11+
{%endblock%}
12+
13+
14+

.moban.d/test.sh

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{% extends "test.sh.jj2" %}
2+
3+
{%block pretest %}
4+
#/bin/bash
5+
6+
cd tests/test_plugin
7+
python setup.py install
8+
cd ../../
9+
{%endblock %}
10+
11+
{%block flake8_options%}
12+
--builtins=unicode,xrange,long
13+
{%endblock%}

.moban.d/tests/requirements.txt

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{% extends 'tests/requirements.txt.jj2' %}
2+
{%block extras %}
3+
pyexcel
4+
pyexcel-xls
5+
{%endblock%}

.moban.d/version.py.jj2

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
__version__ = '{{current_version}}'
2+
__author__ = '{{author}}'

.moban.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
configuration:
2+
configuration_dir: "commons/config"
3+
template_dir:
4+
- "commons/templates"
5+
- "setupmobans/templates"
6+
- ".moban.d"
7+
configuration: pyexcel-xlsxr.yml
8+
targets:
9+
- README.rst: README.rst
10+
- setup.py: setup.py
11+
- requirements.txt: requirements.txt
12+
- LICENSE: NEW_BSD_LICENSE.jj2
13+
- MANIFEST.in: MANIFEST.in.jj2
14+
- "tests/requirements.txt": "tests/requirements.txt"
15+
- test.sh: test.script.jj2
16+
- test.bat: test.script.jj2
17+
- .travis.yml: travis.yml.jj2
18+
- .gitignore: gitignore.jj2
19+
- "docs/source/conf.py": "docs/source/conf.py.jj2"
20+
- "pyexcel_xlsxr/_version.py": version.py.jj2

.travis.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
sudo: false
2+
language: python
3+
notifications:
4+
email: false
5+
python:
6+
- pypy-5.3.1
7+
- 3.6
8+
- 3.5
9+
- 3.4
10+
- 3.3
11+
- 2.7
12+
before_install:
13+
- if [[ $TRAVIS_PYTHON_VERSION == "2.6" ]]; then pip install flake8==2.6.2; fi
14+
- if [[ -f min_requirements.txt && "$MINREQ" -eq 1 ]]; then
15+
mv min_requirements.txt requirements.txt ;
16+
fi
17+
- test ! -f rnd_requirements.txt || pip install --no-deps -r rnd_requirements.txt
18+
- test ! -f rnd_requirements.txt || pip install -r rnd_requirements.txt ;
19+
- pip install -r tests/requirements.txt
20+
script:
21+
- make test
22+
after_success:
23+
codecov

CHANGELOG.rst

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Change log
2+
===========

MANIFEST.in

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include README.rst
2+
include LICENSE
3+
include CHANGELOG.rst

Makefile

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
all: test
2+
3+
test:
4+
bash test.sh
5+
6+
document:
7+
bash document.sh
8+
9+
spelling:
10+
sphinx-build -b spelling docs/source/ docs/build/spelling

README.rst

+140
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
================================================================================
2+
pyexcel-xlsxr - Let you focus on data, instead of file formats
3+
================================================================================
4+
5+
.. image:: https://raw.githubusercontent.com/pyexcel/pyexcel.github.io/master/images/patreon.png
6+
:target: https://www.patreon.com/pyexcel
7+
8+
.. image:: https://api.travis-ci.org/pyexcel/pyexcel-xlsxr.svg?branch=master
9+
:target: http://travis-ci.org/pyexcel/pyexcel-xlsxr
10+
11+
.. image:: https://codecov.io/gh/pyexcel/pyexcel-xlsxr/branch/master/graph/badge.svg
12+
:target: https://codecov.io/gh/pyexcel/pyexcel-xlsxr
13+
14+
.. image:: https://img.shields.io/gitter/room/gitterHQ/gitter.svg
15+
:target: https://gitter.im/pyexcel/Lobby
16+
17+
.. image:: https://readthedocs.org/projects/pyexcel-xlsxr/badge/?version=latest
18+
:target: http://pyexcel-xlsxr.readthedocs.org/en/latest/
19+
20+
Support the project
21+
================================================================================
22+
23+
If your company has embedded pyexcel and its components into a revenue generating
24+
product, please `support me on patreon <https://www.patreon.com/bePatron?u=5537627>`_ to
25+
maintain the project and develop it further.
26+
27+
If you are an individual, you are welcome to support me too on patreon and for however long
28+
you feel like. As a patreon, you will receive
29+
`early access to pyexcel related contents <https://www.patreon.com/pyexcel/posts>`_.
30+
31+
With your financial support, I will be able to invest
32+
a little bit more time in coding, documentation and writing interesting posts.
33+
34+
35+
36+
Introduction
37+
================================================================================
38+
**pyexcel-xlsxr** does Read xlsx file using partial xml.
39+
40+
41+
42+
Installation
43+
================================================================================
44+
45+
You can install pyexcel-xlsxr via pip:
46+
47+
.. code-block:: bash
48+
49+
$ pip install pyexcel-xlsxr
50+
51+
52+
or clone it and install it:
53+
54+
.. code-block:: bash
55+
56+
$ git clone https://github.com/pyexcel/pyexcel-xlsxr.git
57+
$ cd pyexcel-xlsxr
58+
$ python setup.py install
59+
60+
61+
62+
Development guide
63+
================================================================================
64+
65+
Development steps for code changes
66+
67+
#. git clone https://github.com/pyexcel/pyexcel-xlsxr.git
68+
#. cd pyexcel-xlsxr
69+
70+
Upgrade your setup tools and pip. They are needed for development and testing only:
71+
72+
#. pip install --upgrade setuptools pip
73+
74+
Then install relevant development requirements:
75+
76+
#. pip install -r rnd_requirements.txt # if such a file exists
77+
#. pip install -r requirements.txt
78+
#. pip install -r tests/requirements.txt
79+
80+
Once you have finished your changes, please provide test case(s), relevant documentation
81+
and update CHANGELOG.rst.
82+
83+
.. note::
84+
85+
As to rnd_requirements.txt, usually, it is created when a dependent
86+
library is not released. Once the dependecy is installed
87+
(will be released), the future
88+
version of the dependency in the requirements.txt will be valid.
89+
90+
91+
How to test your contribution
92+
------------------------------
93+
94+
Although `nose` and `doctest` are both used in code testing, it is adviable that unit tests are put in tests. `doctest` is incorporated only to make sure the code examples in documentation remain valid across different development releases.
95+
96+
On Linux/Unix systems, please launch your tests like this::
97+
98+
$ make
99+
100+
On Windows systems, please issue this command::
101+
102+
> test.bat
103+
104+
How to update test environment and update documentation
105+
---------------------------------------------------------
106+
107+
Additional steps are required:
108+
109+
#. pip install moban
110+
#. git clone https://github.com/moremoban/setupmobans.git # generic setup
111+
#. git clone https://github.com/pyexcel/pyexcel-commons.git commons
112+
#. make your changes in `.moban.d` directory, then issue command `moban`
113+
114+
What is pyexcel-commons
115+
---------------------------------
116+
117+
Many information that are shared across pyexcel projects, such as: this developer guide, license info, etc. are stored in `pyexcel-commons` project.
118+
119+
What is .moban.d
120+
---------------------------------
121+
122+
`.moban.d` stores the specific meta data for the library.
123+
124+
Acceptance criteria
125+
-------------------
126+
127+
#. Has Test cases written
128+
#. Has all code lines tested
129+
#. Passes all Travis CI builds
130+
#. Has fair amount of documentation if your change is complex
131+
#. Please update CHANGELOG.rst
132+
#. Please add yourself to CONTRIBUTORS.rst
133+
#. Agree on NEW BSD License for your contribution
134+
135+
136+
137+
License
138+
================================================================================
139+
140+
New BSD License

docs/requirements.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sphinxcontrib-spelling

0 commit comments

Comments
 (0)