Format Python code (list of lists) as a fixed width table.
Project description
table-format
Format Python code (list of lists) as a fixed width table.
Usage
You've got some tests or other code like this:
def test_the_table():
assert generate_the_table() == [
["Date", "Name", "Projects released"],
["2021-04-06", "spookylukey", 1],
]
Wouldn't it be nice if those columns lined up?
Copy the whole list of lists to the clipboard, then pipe to table-format --guess-indent
. On Linux you could use xsel
or xclip
etc:
$ xsel | table-format --guess-indent
[
["Date", "Name", "Projects released"],
["2021-04-06", "spookylukey", 1 ],
]
The output should be ready to paste back into your editor.
Options
Pass the --help
flag to show all options:
$ table-format --help
⬇️ Installation
The most recent release can be installed from PyPI with:
$ pip install table-format
You can also use pipx to install it more conveniently in an isolated environment:
$ pipx install table-format
See CHANGES for changelog.
The most recent code and data can be installed directly from GitHub with:
$ pip install git+https://github.com/spookylukey/table-format.git
To install in development mode, use the following:
$ git clone git+https://github.com/spookylukey/table-format.git
$ cd table-format
$ pip install -e .
Other tips
black: use # fmt: off
and # fmt: on
commands to stop black reformatting your
nicely aligned columns.
Emacs
With default keybindings, doing C-u
M-|
table-format --guess-indent
ENTER
will
replace the current region with the formatted version from table-format
.
You can wrap it up in a nice function like this:
(defun align-python-table ()
(interactive)
(shell-command-on-region
;; beginning and end of region
(region-beginning)
(region-end)
;; command and parameters
"table-format --guess-indent"
;; output buffer
(current-buffer)
;; replace?
t
;; name of the error buffer
"*Table-Format Error Buffer*"
;; show error buffer?
t))
⚖️ License
The code in this package is licensed under the MIT License.
🙏 Contributing
Contributions, whether filing an issue, making a pull request, or forking, are appreciated. See CONTRIBUTING.rst for more information on getting involved.
🛠️ Development
The final section of the README is you for if you want to get involved by making a code contribution.
❓ Testing
After cloning the repository and installing tox
with pip install tox
, the
unit tests in the tests/
folder can be run reproducibly with:
$ tox
Additionally, these tests are automatically re-run with each commit in a GitHub Action.
🍪 Cookiecutter Acknowledgement
This package was created with @audreyfeldroy's cookiecutter package using @cthoyt's cookiecutter-python-package template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for table_format-1.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56732087c485b97f1ec9c0cdda124d86f4f6a32083838f15cfc4555309a95126 |
|
MD5 | 50a8414620c6afe4902b31e2ec0595f6 |
|
BLAKE2b-256 | 316b511770ff9a3fa2f24f692bc9fe3f4be673d8d82813b1d48128c90543388e |