Skip to content

Commit b2e227a

Browse files
committed
📚 update project meta data
1 parent c9d531d commit b2e227a

File tree

10 files changed

+68
-64
lines changed

10 files changed

+68
-64
lines changed

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- name: Set up Python
1212
uses: actions/setup-python@v1
1313
with:
14-
python-version: 3.8
14+
python-version: 3.11
1515
- name: lint
1616
run: |
1717
pip --use-deprecated=legacy-resolver install flake8

.github/workflows/moban-update.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ jobs:
1212
- name: Set up Python
1313
uses: actions/setup-python@v1
1414
with:
15-
python-version: '3.7'
15+
python-version: '3.11'
1616
- name: check changes
1717
run: |
18-
pip install moban gitfs2 pypifs moban-jinja2-github moban-ansible
18+
pip install markupsafe==2.0.1
19+
pip install ruamel.yaml moban gitfs2 pypifs moban-jinja2-github moban-ansible
1920
moban
2021
git status
2122
git diff --exit-code

.github/workflows/pythonpublish.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,16 @@ on:
55
types: [created]
66

77
jobs:
8-
deploy:
8+
pypi-publish:
9+
name: upload release to PyPI
910
runs-on: ubuntu-latest
11+
# Specifying a GitHub environment is optional, but strongly encouraged
12+
environment: pypi
13+
permissions:
14+
# IMPORTANT: this permission is mandatory for trusted publishing
15+
id-token: write
1016
steps:
17+
# retrieve your distributions here
1118
- uses: actions/checkout@v1
1219
- name: Set up Python
1320
uses: actions/setup-python@v1
@@ -16,11 +23,9 @@ jobs:
1623
- name: Install dependencies
1724
run: |
1825
python -m pip install --upgrade pip
19-
pip install setuptools wheel twine
20-
- name: Build and publish
21-
env:
22-
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
23-
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
26+
pip install setuptools wheel
27+
- name: Build
2428
run: |
2529
python setup.py sdist bdist_wheel
26-
twine upload dist/*
30+
- name: Publish package distributions to PyPI
31+
uses: pypa/gh-action-pypi-publish@release/v1

.github/workflows/tests.yml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
1-
name: Run unit tests on Windows and Mac
1+
name: Run unit tests on Windows, Ubuntu and Mac
22

33
on: [push, pull_request]
44

55
jobs:
6+
67
test:
8+
name: ${{ matrix.os }} / ${{ matrix.python_version }}
9+
runs-on: ${{ matrix.os }}-latest
710
strategy:
8-
fail-fast: false
9-
matrix:
10-
python-version: [3.6, 3.7, 3.8, 3.9]
11-
os: [macOs-latest, ubuntu-latest, windows-latest]
12-
exclude:
13-
- os: macOs-latest
14-
python-version: 3.6
11+
fail-fast: false
12+
matrix:
13+
os: [Ubuntu]
14+
python_version: ["3.9.16"]
1515

16-
runs-on: ${{ matrix.os }}
17-
name: run tests
1816
steps:
1917
- uses: actions/checkout@v2
2018
- name: Set up Python
21-
uses: actions/setup-python@v1
19+
uses: actions/setup-python@v5
2220
with:
23-
python-version: ${{ matrix.python-version }}
21+
python-version: ${{ matrix.python_version }}
22+
architecture: x64
23+
2424
- name: install
2525
run: |
2626
pip --use-deprecated=legacy-resolver install -r requirements.txt
2727
pip --use-deprecated=legacy-resolver install -r tests/requirements.txt
28+
pip --use-deprecated=legacy-resolver install -r rnd_requirements.txt
2829
- name: test
2930
run: |
3031
pip freeze

.readthedocs.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
# Required
66
version: 2
77

8+
build:
9+
os: ubuntu-22.04
10+
tools:
11+
python: "3.12"
12+
813
# Build documentation in the docs/ directory with Sphinx
914
sphinx:
1015
configuration: docs/source/conf.py
1116

1217
# Optionally build your docs in additional formats such as PDF
1318
formats:
1419
- pdf
15-
16-
# Optionally set the version of Python and requirements required to build your docs
17-
python:
18-
version: 3.7

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
Change log
22
================================================================================
33

4+
0.6.2 - 10.7.2024
5+
--------------------------------------------------------------------------------
6+
7+
**added**
8+
9+
#. `#36 <https://github.com/pyexcel/pyexcel-ods3/issues/36>`_: fixing get_data
10+
for a currency cell with no currency defined
11+
412
0.6.1 - 1.2.2022
513
--------------------------------------------------------------------------------
614

CONTRIBUTORS.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11

22

3-
5 contributors
3+
6 contributors
44
================================================================================
55

66
In alphabetical order:
77

88
* `Benedikt Waldvogel <https://github.com/bwaldvogel>`_
99
* `Mateusz Konieczny <https://github.com/matkoniecz>`_
1010
* `Michael K. <https://github.com/michael-k>`_
11+
* `Michael Leiseca <https://github.com/mleiseca>`_
1112
* `Stephen J. Fuhry <https://github.com/fuhrysteve>`_
1213
* `Vincent Raspal <https://github.com/vinraspa>`_

LICENSE

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2015-2022 by Onni Software Ltd. and its contributors
1+
Copyright (c) 2015-2025 by Onni Software Ltd. and its contributors
22
All rights reserved.
33

44
Redistribution and use in source and binary forms of the software as well
@@ -13,7 +13,7 @@ that the following conditions are met:
1313
and/or other materials provided with the distribution.
1414

1515
* Neither the name of 'pyexcel-ods3' nor the names of the contributors
16-
may not be used to endorse or promote products derived from this software
16+
may be used to endorse or promote products derived from this software
1717
without specific prior written permission.
1818

1919
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND

README.rst

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ pyexcel-ods3 - Let you focus on data, instead of ods format
88
.. image:: https://raw.githubusercontent.com/pyexcel/pyexcel-mobans/master/images/awesome-badge.svg
99
:target: https://awesome-python.com/#specific-formats-processing
1010

11-
.. image:: https://github.com/pyexcel/pyexcel-ods3/workflows/run_tests/badge.svg
12-
:target: http://github.com/pyexcel/pyexcel-ods3/actions
13-
1411
.. image:: https://codecov.io/gh/pyexcel/pyexcel-ods3/branch/master/graph/badge.svg
1512
:target: https://codecov.io/gh/pyexcel/pyexcel-ods3
1613

@@ -20,6 +17,7 @@ pyexcel-ods3 - Let you focus on data, instead of ods format
2017
.. image:: https://anaconda.org/conda-forge/pyexcel-ods3/badges/version.svg
2118
:target: https://anaconda.org/conda-forge/pyexcel-ods3
2219

20+
2321
.. image:: https://pepy.tech/badge/pyexcel-ods3/month
2422
:target: https://pepy.tech/project/pyexcel-ods3
2523

@@ -45,19 +43,11 @@ that has no external dependency but do ods reading only
4543
Support the project
4644
================================================================================
4745

48-
If your company has embedded pyexcel and its components into a revenue generating
49-
product, please support me on github, `patreon <https://www.patreon.com/bePatron?u=5537627>`_
50-
or `bounty source <https://salt.bountysource.com/teams/chfw-pyexcel>`_ to maintain
51-
the project and develop it further.
52-
53-
If you are an individual, you are welcome to support me too and for however long
54-
you feel like. As my backer, you will receive
55-
`early access to pyexcel related contents <https://www.patreon.com/pyexcel/posts>`_.
56-
57-
And your issues will get prioritized if you would like to become my patreon as `pyexcel pro user`.
58-
59-
With your financial support, I will be able to invest
60-
a little bit more time in coding, documentation and writing interesting posts.
46+
If your company uses pyexcel and its components in a revenue-generating product,
47+
please consider supporting the project on GitHub or
48+
`Patreon <https://www.patreon.com/bePatron?u=5537627>`_. Your financial
49+
support will enable me to dedicate more time to coding, improving documentation,
50+
and creating engaging content.
6151

6252

6353
Known constraints
@@ -97,15 +87,8 @@ As a standalone library
9787

9888
>>> import os
9989
>>> import sys
100-
>>> if sys.version_info[0] < 3:
101-
... from StringIO import StringIO
102-
... else:
103-
... from io import BytesIO as StringIO
104-
>>> PY2 = sys.version_info[0] == 2
105-
>>> if PY2 and sys.version_info[1] < 7:
106-
... from ordereddict import OrderedDict
107-
... else:
108-
... from collections import OrderedDict
90+
>>> from io import BytesIO
91+
>>> from collections import OrderedDict
10992

11093

11194
Write to an ods file
@@ -149,7 +132,7 @@ Here's the sample code to write a dictionary to an ods file:
149132
>>> data = OrderedDict()
150133
>>> data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})
151134
>>> data.update({"Sheet 2": [[7, 8, 9], [10, 11, 12]]})
152-
>>> io = StringIO()
135+
>>> io = BytesIO()
153136
>>> save_data(io, data)
154137
>>> # do something with the io
155138
>>> # In reality, you might give it to your http response
@@ -305,18 +288,18 @@ You got to wrap the binary content with stream to get ods working:
305288
+-------+-------+-------+
306289
307290
308-
Writing to a StringIO instance
291+
Writing to a BytesIO instance
309292
********************************************************************************
310293

311-
You need to pass a StringIO instance to Writer:
294+
You need to pass a BytesIO instance to Writer:
312295

313296
.. code-block:: python
314297
315298
>>> data = [
316299
... [1, 2, 3],
317300
... [4, 5, 6]
318301
... ]
319-
>>> io = StringIO()
302+
>>> io = BytesIO()
320303
>>> sheet = pe.Sheet(data)
321304
>>> io = sheet.save_to_memory("ods", io)
322305
>>> # then do something with io
@@ -353,15 +336,18 @@ and update changelog.yml
353336
.. note::
354337

355338
As to rnd_requirements.txt, usually, it is created when a dependent
356-
library is not released. Once the dependecy is installed
339+
library is not released. Once the dependency is installed
357340
(will be released), the future
358341
version of the dependency in the requirements.txt will be valid.
359342

360343

361344
How to test your contribution
362-
------------------------------
345+
--------------------------------------------------------------------------------
363346

364-
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.
347+
Although `nose` and `doctest` are both used in code testing, it is advisable
348+
that unit tests are put in tests. `doctest` is incorporated only to make sure
349+
the code examples in documentation remain valid across different development
350+
releases.
365351

366352
On Linux/Unix systems, please launch your tests like this::
367353

docs/source/conf.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
# -- Project information -----------------------------------------------------
2323

2424
project = 'pyexcel-ods3'
25-
copyright = '2015-2022 Onni Software Ltd.'
25+
copyright = '2015-2025 Onni Software Ltd.'
2626
author = 'C.W.'
2727
# The short X.Y version
2828
version = '0.6.1'
@@ -57,7 +57,7 @@
5757
# The theme to use for HTML and HTML Help pages. See the documentation for
5858
# a list of builtin themes.
5959
#
60-
html_theme = 'alabaster'
60+
html_theme = 'sphinx_rtd_theme'
6161

6262
# Add any paths that contain custom static files (such as style sheets) here,
6363
# relative to this directory. They are copied after the builtin static files,
@@ -68,7 +68,8 @@
6868
# -- Options for intersphinx extension ---------------------------------------
6969

7070
# Example configuration for intersphinx: refer to the Python standard library.
71-
intersphinx_mapping = {'https://docs.python.org/3/': None}
71+
intersphinx_mapping = {'python': ('https://docs.python.org/3',
72+
'python-inv.txt')}
7273
# TODO: html_theme not configurable upstream
7374
html_theme = 'default'
7475

0 commit comments

Comments
 (0)