Name | fotolab JSON |
Version |
0.26.0
JSON |
| download |
home_page | None |
Summary | A console program that manipulate images. |
upload_time | 2025-01-19 06:59:18 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
photography
photo
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# fotolab
A console program to manipulate photos.
## Installation
Stable version From PyPI using `pipx`:
```console
pipx install fotolab
```
Stable version From PyPI using `pip`:
```console
python -m pip install fotolab
```
Upgrade to latest stable version:
```console
python3 -m pip install fotolab --upgrade
```
Latest development version from GitHub:
```console
python -m pip install -e git+https://github.com/kianmeng/fotolab.git
```
## Usage
```console
fotolab -h
```
<!--help !-->
```console
usage: fotolab [-h] [-o] [-op] [-od OUTPUT_DIR] [-q] [-v] [-d] [-V]
{animate,auto,border,contrast,env,info,montage,resize,rotate,sharpen,watermark} ...
A console program to manipulate photos.
website: https://github.com/kianmeng/fotolab
changelog: https://github.com/kianmeng/fotolab/blob/master/CHANGELOG.md
issues: https://github.com/kianmeng/fotolab/issues
positional arguments:
{animate,auto,border,contrast,env,info,montage,resize,rotate,sharpen,watermark}
sub-command help
animate animate an image
auto auto adjust (resize, contrast, and watermark) a photo
border add border to image
contrast contrast an image
env print environment information for bug reporting
info info an image
montage montage a list of image
resize resize an image
rotate rotate an image
sharpen sharpen an image
watermark watermark an image
options:
-h, --help show this help message and exit
-o, --overwrite overwrite existing image
-op, --open open the image using default program (default: 'False')
-od, --output-dir OUTPUT_DIR
set default output folder (default: 'output')
-q, --quiet suppress all logging
-v, --verbose show verbosity of debugging log, use -vv, -vvv for more details
-d, --debug show debugging log and stacktrace
-V, --version show program's version number and exit
```
<!--help !-->
### fotolab animate
```console
fotolab animate -h
```
<!--help-animate !-->
```console
usage: fotolab animate [-h] [-f FORMAT] [-d DURATION] [-l LOOP]
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filenames
options:
-h, --help show this help message and exit
-f, --format FORMAT set the image format (default: 'gif')
-d, --duration DURATION
set the duration in milliseconds (default: '2500')
-l, --loop LOOP set the loop cycle (default: '0')
```
<!--help-animate !-->
### fotolab auto
```console
fotolab auto -h
```
<!--help-auto !-->
```console
usage: fotolab auto [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filename
options:
-h, --help show this help message and exit
```
<!--help-auto !-->
### fotolab border
```console
fotolab border -h
```
<!--help-border !-->
```console
usage: fotolab border [-h] [-c COLOR] [-w WIDTH] [-wt WIDTH] [-wr WIDTH]
[-wb WIDTH] [-wl WIDTH]
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filenames
options:
-h, --help show this help message and exit
-c, --color COLOR set the color of border (default: 'black')
-w, --width WIDTH set the width of border (default: '10')
-wt, --width-top WIDTH
set the width of top border (default: '0')
-wr, --width-right WIDTH
set the width of right border (default: '0')
-wb, --width-bottom WIDTH
set the width of bottom border (default: '0')
-wl, --width-left WIDTH
set the width of left border (default: '0')
```
<!--help-border !-->
### fotolab contrast
```console
fotolab contrast -h
```
<!--help-contrast !-->
```console
usage: fotolab contrast [-h] [-c CUTOFF] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filename
options:
-h, --help show this help message and exit
-c, --cutoff CUTOFF set the percentage of lightest or darkest pixels to
discard from histogram (default: '1')
```
<!--help-contrast !-->
### fotolab info
```console
fotolab info -h
```
<!--help-info !-->
```console
usage: fotolab info [-h] [-s] [--camera] [--datetime] IMAGE_FILENAME
positional arguments:
IMAGE_FILENAME set the image filename
options:
-h, --help show this help message and exit
-s, --sort show image info by sorted field name
--camera show the camera maker details
--datetime show the datetime
```
<!--help-info !-->
### fotolab rotate
```console
fotolab rotate -h
```
<!--help-rotate !-->
```console
usage: fotolab rotate [-h] [-r ROTATION] [-cw]
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filenames
options:
-h, --help show this help message and exit
-r, --rotation ROTATION
Rotation angle in degrees (default: '0')
-cw, --clockwise Rotate clockwise (default: 'False)
```
<!--help-rotate !-->
### fotolab montage
```console
fotolab montage -h
```
<!--help-montage !-->
```console
usage: fotolab montage [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filenames
options:
-h, --help show this help message and exit
```
<!--help-montage !-->
### fotolab resize
```console
fotolab resize -h
```
<!--help-resize !-->
```console
usage: fotolab resize [-h] [-c] [-l CANVAS_COLOR] [-W WIDTH | -H HEIGHT]
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filename
options:
-h, --help show this help message and exit
-c, --canvas paste image onto a larger canvas
-l, --canvas-color CANVAS_COLOR
the color of the extended larger canvas(default:
'black')
-W, --width WIDTH set the width of the image (default: '600')
-H, --height HEIGHT set the height of the image (default: '277')
```
<!--help-resize !-->
### fotolab sharpen
```console
fotolab sharpen -h
```
<!--help-sharpen !-->
```console
usage: fotolab sharpen [-h] [-r RADIUS] [-p PERCENT] [-t THRESHOLD] [-ba]
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filenames
options:
-h, --help show this help message and exit
-r, --radius RADIUS set the radius or size of edges (default: '1')
-p, --percent PERCENT
set the amount of overall strength of sharpening
effect (default: '100')
-t, --threshold THRESHOLD
set the minimum brightness changed to be sharpened
(default: '3')
-ba, --before-after generate a GIF showing before and after changes
```
<!--help-sharpen !-->
### fotolab watermark
```console
fotolab watermark -h
```
<!--help-watermark !-->
```console
usage: fotolab watermark [-h] [-t WATERMARK_TEXT]
[-p {top-left,top-right,bottom-left,bottom-right}]
[-pd PADDING] [-fs FONT_SIZE] [-fc FONT_COLOR]
[-ow OUTLINE_WIDTH] [-oc OUTLINE_COLOR] [--camera]
[-l | --lowercase | --no-lowercase]
IMAGE_FILENAMES [IMAGE_FILENAMES ...]
positional arguments:
IMAGE_FILENAMES set the image filenames
options:
-h, --help show this help message and exit
-t, --text WATERMARK_TEXT
set the watermark text (default: 'kianmeng.org')
-p, --position {top-left,top-right,bottom-left,bottom-right}
set position of the watermark text (default: 'bottom-
left')
-pd, --padding PADDING
set the padding of the watermark text relative to the
image (default: '15')
-fs, --font-size FONT_SIZE
set the font size of watermark text (default: '12')
-fc, --font-color FONT_COLOR
set the font color of watermark text (default:
'white')
-ow, --outline-width OUTLINE_WIDTH
set the outline width of the watermark text (default:
'2')
-oc, --outline-color OUTLINE_COLOR
set the outline color of the watermark text (default:
'black')
--camera use camera metadata as watermark
-l, --lowercase, --no-lowercase
lowercase the watermark text
```
<!--help-watermark !-->
### fotolab env
```console
fotolab env -h
```
<!--help-env !-->
```console
usage: fotolab env [-h]
options:
-h, --help show this help message and exit
```
<!--help-env !-->
## Copyright and License
Copyright (C) 2024,2025 Kian-Meng Ang
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>.
The fish logo used in the documentation generated by Sphinx is a public domain
drawing of male freshwater phase [Sockeye (red) salmon (Oncorhynchus nerka)]
(https://en.wikipedia.org/w/index.php?oldid=1186575702) from
<https://commons.wikimedia.org/entity/M2787002>.
Raw data
{
"_id": null,
"home_page": null,
"name": "fotolab",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "photography, photo",
"author": null,
"author_email": "Kian-Meng Ang <kianmeng@cpan.org>",
"download_url": "https://files.pythonhosted.org/packages/10/12/cd12d43254a7cbd311d453c8756002aa4fcd61c92dffb10c3ae9f93da10a/fotolab-0.26.0.tar.gz",
"platform": null,
"description": "# fotolab\n\nA console program to manipulate photos.\n\n## Installation\n\nStable version From PyPI using `pipx`:\n\n```console\npipx install fotolab\n```\n\nStable version From PyPI using `pip`:\n\n```console\npython -m pip install fotolab\n```\n\nUpgrade to latest stable version:\n\n```console\npython3 -m pip install fotolab --upgrade\n```\n\nLatest development version from GitHub:\n\n```console\npython -m pip install -e git+https://github.com/kianmeng/fotolab.git\n```\n\n## Usage\n\n```console\nfotolab -h\n```\n\n<!--help !-->\n\n```console\nusage: fotolab [-h] [-o] [-op] [-od OUTPUT_DIR] [-q] [-v] [-d] [-V]\n {animate,auto,border,contrast,env,info,montage,resize,rotate,sharpen,watermark} ...\n\nA console program to manipulate photos.\n\nwebsite: https://github.com/kianmeng/fotolab\nchangelog: https://github.com/kianmeng/fotolab/blob/master/CHANGELOG.md\nissues: https://github.com/kianmeng/fotolab/issues\n\npositional arguments:\n {animate,auto,border,contrast,env,info,montage,resize,rotate,sharpen,watermark}\n sub-command help\n animate animate an image\n auto auto adjust (resize, contrast, and watermark) a photo\n border add border to image\n contrast contrast an image\n env print environment information for bug reporting\n info info an image\n montage montage a list of image\n resize resize an image\n rotate rotate an image\n sharpen sharpen an image\n watermark watermark an image\n\noptions:\n -h, --help show this help message and exit\n -o, --overwrite overwrite existing image\n -op, --open open the image using default program (default: 'False')\n -od, --output-dir OUTPUT_DIR\n set default output folder (default: 'output')\n -q, --quiet suppress all logging\n -v, --verbose show verbosity of debugging log, use -vv, -vvv for more details\n -d, --debug show debugging log and stacktrace\n -V, --version show program's version number and exit\n```\n\n<!--help !-->\n\n### fotolab animate\n\n```console\nfotolab animate -h\n```\n\n<!--help-animate !-->\n\n```console\nusage: fotolab animate [-h] [-f FORMAT] [-d DURATION] [-l LOOP]\n IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filenames\n\noptions:\n -h, --help show this help message and exit\n -f, --format FORMAT set the image format (default: 'gif')\n -d, --duration DURATION\n set the duration in milliseconds (default: '2500')\n -l, --loop LOOP set the loop cycle (default: '0')\n```\n\n<!--help-animate !-->\n\n### fotolab auto\n\n```console\nfotolab auto -h\n```\n\n<!--help-auto !-->\n\n```console\nusage: fotolab auto [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filename\n\noptions:\n -h, --help show this help message and exit\n```\n\n<!--help-auto !-->\n\n### fotolab border\n\n```console\nfotolab border -h\n```\n\n<!--help-border !-->\n\n```console\nusage: fotolab border [-h] [-c COLOR] [-w WIDTH] [-wt WIDTH] [-wr WIDTH]\n [-wb WIDTH] [-wl WIDTH]\n IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filenames\n\noptions:\n -h, --help show this help message and exit\n -c, --color COLOR set the color of border (default: 'black')\n -w, --width WIDTH set the width of border (default: '10')\n -wt, --width-top WIDTH\n set the width of top border (default: '0')\n -wr, --width-right WIDTH\n set the width of right border (default: '0')\n -wb, --width-bottom WIDTH\n set the width of bottom border (default: '0')\n -wl, --width-left WIDTH\n set the width of left border (default: '0')\n```\n\n<!--help-border !-->\n\n### fotolab contrast\n\n```console\nfotolab contrast -h\n```\n\n<!--help-contrast !-->\n\n```console\nusage: fotolab contrast [-h] [-c CUTOFF] IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filename\n\noptions:\n -h, --help show this help message and exit\n -c, --cutoff CUTOFF set the percentage of lightest or darkest pixels to\n discard from histogram (default: '1')\n```\n\n<!--help-contrast !-->\n\n### fotolab info\n\n```console\nfotolab info -h\n```\n\n<!--help-info !-->\n\n```console\nusage: fotolab info [-h] [-s] [--camera] [--datetime] IMAGE_FILENAME\n\npositional arguments:\n IMAGE_FILENAME set the image filename\n\noptions:\n -h, --help show this help message and exit\n -s, --sort show image info by sorted field name\n --camera show the camera maker details\n --datetime show the datetime\n```\n\n<!--help-info !-->\n\n### fotolab rotate\n\n```console\nfotolab rotate -h\n```\n\n<!--help-rotate !-->\n\n```console\nusage: fotolab rotate [-h] [-r ROTATION] [-cw]\n IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filenames\n\noptions:\n -h, --help show this help message and exit\n -r, --rotation ROTATION\n Rotation angle in degrees (default: '0')\n -cw, --clockwise Rotate clockwise (default: 'False)\n```\n\n<!--help-rotate !-->\n\n### fotolab montage\n\n```console\nfotolab montage -h\n```\n\n<!--help-montage !-->\n\n```console\nusage: fotolab montage [-h] IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filenames\n\noptions:\n -h, --help show this help message and exit\n```\n\n<!--help-montage !-->\n\n### fotolab resize\n\n```console\nfotolab resize -h\n```\n\n<!--help-resize !-->\n\n```console\nusage: fotolab resize [-h] [-c] [-l CANVAS_COLOR] [-W WIDTH | -H HEIGHT]\n IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filename\n\noptions:\n -h, --help show this help message and exit\n -c, --canvas paste image onto a larger canvas\n -l, --canvas-color CANVAS_COLOR\n the color of the extended larger canvas(default:\n 'black')\n -W, --width WIDTH set the width of the image (default: '600')\n -H, --height HEIGHT set the height of the image (default: '277')\n```\n\n<!--help-resize !-->\n\n### fotolab sharpen\n\n```console\nfotolab sharpen -h\n```\n\n<!--help-sharpen !-->\n\n```console\nusage: fotolab sharpen [-h] [-r RADIUS] [-p PERCENT] [-t THRESHOLD] [-ba]\n IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filenames\n\noptions:\n -h, --help show this help message and exit\n -r, --radius RADIUS set the radius or size of edges (default: '1')\n -p, --percent PERCENT\n set the amount of overall strength of sharpening\n effect (default: '100')\n -t, --threshold THRESHOLD\n set the minimum brightness changed to be sharpened\n (default: '3')\n -ba, --before-after generate a GIF showing before and after changes\n```\n\n<!--help-sharpen !-->\n\n### fotolab watermark\n\n```console\nfotolab watermark -h\n```\n\n<!--help-watermark !-->\n\n```console\nusage: fotolab watermark [-h] [-t WATERMARK_TEXT]\n [-p {top-left,top-right,bottom-left,bottom-right}]\n [-pd PADDING] [-fs FONT_SIZE] [-fc FONT_COLOR]\n [-ow OUTLINE_WIDTH] [-oc OUTLINE_COLOR] [--camera]\n [-l | --lowercase | --no-lowercase]\n IMAGE_FILENAMES [IMAGE_FILENAMES ...]\n\npositional arguments:\n IMAGE_FILENAMES set the image filenames\n\noptions:\n -h, --help show this help message and exit\n -t, --text WATERMARK_TEXT\n set the watermark text (default: 'kianmeng.org')\n -p, --position {top-left,top-right,bottom-left,bottom-right}\n set position of the watermark text (default: 'bottom-\n left')\n -pd, --padding PADDING\n set the padding of the watermark text relative to the\n image (default: '15')\n -fs, --font-size FONT_SIZE\n set the font size of watermark text (default: '12')\n -fc, --font-color FONT_COLOR\n set the font color of watermark text (default:\n 'white')\n -ow, --outline-width OUTLINE_WIDTH\n set the outline width of the watermark text (default:\n '2')\n -oc, --outline-color OUTLINE_COLOR\n set the outline color of the watermark text (default:\n 'black')\n --camera use camera metadata as watermark\n -l, --lowercase, --no-lowercase\n lowercase the watermark text\n```\n\n<!--help-watermark !-->\n\n### fotolab env\n\n```console\nfotolab env -h\n```\n\n<!--help-env !-->\n\n```console\nusage: fotolab env [-h]\n\noptions:\n -h, --help show this help message and exit\n```\n\n<!--help-env !-->\n\n## Copyright and License\n\nCopyright (C) 2024,2025 Kian-Meng Ang\n\nThis program is free software: you can redistribute it and/or modify it under\nthe terms of the GNU Affero General Public License as published by the Free\nSoftware Foundation, either version 3 of the License, or (at your option) any\nlater version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE. See the GNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License along\nwith this program. If not, see <https://www.gnu.org/licenses/>.\n\nThe fish logo used in the documentation generated by Sphinx is a public domain\ndrawing of male freshwater phase [Sockeye (red) salmon (Oncorhynchus nerka)]\n(https://en.wikipedia.org/w/index.php?oldid=1186575702) from\n<https://commons.wikimedia.org/entity/M2787002>.\n",
"bugtrack_url": null,
"license": null,
"summary": "A console program that manipulate images.",
"version": "0.26.0",
"project_urls": {
"Changelog": "https://github.com/kianmeng/fotolab/blob/master/CHANGELOG.md",
"Issues": "https://github.com/kianmeng/fotolab/issues",
"Source": "https://github.com/kianmeng/fotolab"
},
"split_keywords": [
"photography",
" photo"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "22a3959001e031ea00626fb99a686510e648d8f8825676c3d47097c4cf5e292c",
"md5": "9c5667b61eab3820c484ec06ec6f1788",
"sha256": "1ce8df73ff1f22e5201b35bb1474139696ef9276fdeaddd217cfb75be9605dd8"
},
"downloads": -1,
"filename": "fotolab-0.26.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9c5667b61eab3820c484ec06ec6f1788",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 36384,
"upload_time": "2025-01-19T06:59:14",
"upload_time_iso_8601": "2025-01-19T06:59:14.514098Z",
"url": "https://files.pythonhosted.org/packages/22/a3/959001e031ea00626fb99a686510e648d8f8825676c3d47097c4cf5e292c/fotolab-0.26.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1012cd12d43254a7cbd311d453c8756002aa4fcd61c92dffb10c3ae9f93da10a",
"md5": "68720db50cffba71aa777abdf86750c0",
"sha256": "8b3c1a15b319a452f445033edf2f374181904aa35b9e2ca353ec13848c3d83ca"
},
"downloads": -1,
"filename": "fotolab-0.26.0.tar.gz",
"has_sig": false,
"md5_digest": "68720db50cffba71aa777abdf86750c0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 75067,
"upload_time": "2025-01-19T06:59:18",
"upload_time_iso_8601": "2025-01-19T06:59:18.331526Z",
"url": "https://files.pythonhosted.org/packages/10/12/cd12d43254a7cbd311d453c8756002aa4fcd61c92dffb10c3ae9f93da10a/fotolab-0.26.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-19 06:59:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kianmeng",
"github_project": "fotolab",
"github_not_found": true,
"lcname": "fotolab"
}