photo-importer


Namephoto-importer JSON
Version 1.2.6 PyPI version JSON
download
home_pagehttps://github.com/sashacmc/photo-importer
SummaryPhoto importer tool
upload_time2024-10-31 00:00:21
maintainerNone
docs_urlNone
authorAlexander Bushnev
requires_pythonNone
licenseGNU General Public License v3.0
keywords
VCS
bugtrack_url
requirements progressbar psutil PyExifTool
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Photo Importer

![CodeQL](https://github.com/sashacmc/photo-importer/workflows/CodeQL/badge.svg)
[![PyPI - Version](https://img.shields.io/pypi/v/photo-importer.svg)](https://pypi.org/project/photo-importer)
[![PyPI - Downloads](https://pepy.tech/badge/photo-importer)](https://pepy.tech/project/photo-importer)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

Command line tools for photo importing/renaming/rotating
### Features:
  * Media files scan
  * Time when picture was taken detection (by EXIF, by file name, by file attributes)
  * Media files moving/copying to configurable hierarchy 
  * Lossless rotations (via exiftran or jpegtran)

# Photo Importer Server
Standalone web server for fast media import for headless computer
### Features:
  * Mounted storages detection (by path mask)
  * Storages mount/unmount (via pmount)
  * The same as photo-importer but without console

# Installation

### Requirements:

  * Python 3.3+

### Supported OS:

  * Debian based Linux (other Linux versions not officially supported, but might work)
  * Windows 7 and above
  * MacOS X and above (with brew installed, only console version)

### Dependencies:
  * [PyExifTool](https://pypi.org/project/PyExifTool/)
  * [progressbar](https://pypi.org/project/progressbar/)
  * [psutil](https://pypi.org/project/psutil/)
  * [exiftran](https://linux.die.net/man/1/exiftran) or [jpegtran](https://linux.die.net/man/1/jpegtran)
  * [pmount](https://linux.die.net/man/1/pmount) (only for server)
  * [pypiwin32](https://pypi.org/project/pypiwin32/) (only for windows)


### Installation Options:

#### Installing via PyPi
```bash
sudo apt install exiftran exiftool pmount pip
sudo pip install photo-importer
```
#### Installing as debian package
```bash
debuild -b
sudo apt install pip python3-exif python3-progressbar exiftran python3-psutil
sudo pip install PyExifTool
sudo dpkg -i ../photo-importer_1.2.5_all.deb
```
#### Installing via setup.py
```bash
sudo apt install exiftran exiftool pmount pip
sudo pip install PyExifTool progressbar psutil
sudo python3 ./setup.py install
```

#### Installing for Windows
Download and install python3 for you Windows distributive
https://www.python.org/downloads/windows/

Download and install exiftool
https://exiftool.org/

Download and extract jpegtran to photo_importer folder
http://sylvana.net/jpegcrop/jpegtran/

Install with python dependencies
```bash
python -m pip install pypiwin32 photo-importer
```

## Usage
### Command-Line Interface

```bash
photo-importer /path/to/media/files
```
Will process files (reanaming/rotating) in-place.
![In place example](https://user-images.githubusercontent.com/28735879/76139947-bd249780-6055-11ea-85c0-0985b6bde93f.png)

```bash
photo-importer /path/to/media/files /output/path
```
Will import (by default move, but it can be changed in config) files from /path/to/media/files to /output/path with date hierarchy creation and reanaming/rotating

![Move example](https://user-images.githubusercontent.com/28735879/76139964-eba27280-6055-11ea-988f-aa71cda7ba36.png)

### Web Interface
  * attach usb-drive / usert memory card
  * open http://servername:8080
  * click "Mount"
  * click "Import"
  * click "Unmount"

![Web interface example](https://user-images.githubusercontent.com/28735879/76140174-f1995300-6057-11ea-8718-19c38650c786.png)

### Windows command line
```bash
cd photo_importer
run.py -c ..\photo-importer-win.cfg path\to\media\files \output\path
```
### Windows web 
```bash
photo-importer-server.bat
```

## Configuration
The server config file located in /etc/photo-importer.cfg

Command line tool config file located in ~/.photo-importer.cfg

Also config file can be specified by mean of -c command line option.

For options details see comments in the config file.

## Acknowledgements
Thanks to everyone who tested and gave advice.

**Bug reports, suggestions and pull request are welcome!**

## Show your support
Give a ⭐️ if this project helped you!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sashacmc/photo-importer",
    "name": "photo-importer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Alexander Bushnev",
    "author_email": "Alexander@Bushnev.pro",
    "download_url": "https://files.pythonhosted.org/packages/a3/7d/6a72b3825a0a7866a5c7e559bc99ae6410b6ccb3ea5364a0ddcd0908783e/photo-importer-1.2.6.tar.gz",
    "platform": null,
    "description": "# Photo Importer\n\n![CodeQL](https://github.com/sashacmc/photo-importer/workflows/CodeQL/badge.svg)\n[![PyPI - Version](https://img.shields.io/pypi/v/photo-importer.svg)](https://pypi.org/project/photo-importer)\n[![PyPI - Downloads](https://pepy.tech/badge/photo-importer)](https://pepy.tech/project/photo-importer)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nCommand line tools for photo importing/renaming/rotating\n### Features:\n  * Media files scan\n  * Time when picture was taken detection (by EXIF, by file name, by file attributes)\n  * Media files moving/copying to configurable hierarchy \n  * Lossless rotations (via exiftran or jpegtran)\n\n# Photo Importer Server\nStandalone web server for fast media import for headless computer\n### Features:\n  * Mounted storages detection (by path mask)\n  * Storages mount/unmount (via pmount)\n  * The same as photo-importer but without console\n\n# Installation\n\n### Requirements:\n\n  * Python 3.3+\n\n### Supported OS:\n\n  * Debian based Linux (other Linux versions not officially supported, but might work)\n  * Windows 7 and above\n  * MacOS X and above (with brew installed, only console version)\n\n### Dependencies:\n  * [PyExifTool](https://pypi.org/project/PyExifTool/)\n  * [progressbar](https://pypi.org/project/progressbar/)\n  * [psutil](https://pypi.org/project/psutil/)\n  * [exiftran](https://linux.die.net/man/1/exiftran) or [jpegtran](https://linux.die.net/man/1/jpegtran)\n  * [pmount](https://linux.die.net/man/1/pmount) (only for server)\n  * [pypiwin32](https://pypi.org/project/pypiwin32/) (only for windows)\n\n\n### Installation Options:\n\n#### Installing via PyPi\n```bash\nsudo apt install exiftran exiftool pmount pip\nsudo pip install photo-importer\n```\n#### Installing as debian package\n```bash\ndebuild -b\nsudo apt install pip python3-exif python3-progressbar exiftran python3-psutil\nsudo pip install PyExifTool\nsudo dpkg -i ../photo-importer_1.2.5_all.deb\n```\n#### Installing via setup.py\n```bash\nsudo apt install exiftran exiftool pmount pip\nsudo pip install PyExifTool progressbar psutil\nsudo python3 ./setup.py install\n```\n\n#### Installing for Windows\nDownload and install python3 for you Windows distributive\nhttps://www.python.org/downloads/windows/\n\nDownload and install exiftool\nhttps://exiftool.org/\n\nDownload and extract jpegtran to photo_importer folder\nhttp://sylvana.net/jpegcrop/jpegtran/\n\nInstall with python dependencies\n```bash\npython -m pip install pypiwin32 photo-importer\n```\n\n## Usage\n### Command-Line Interface\n\n```bash\nphoto-importer /path/to/media/files\n```\nWill process files (reanaming/rotating) in-place.\n![In place example](https://user-images.githubusercontent.com/28735879/76139947-bd249780-6055-11ea-85c0-0985b6bde93f.png)\n\n```bash\nphoto-importer /path/to/media/files /output/path\n```\nWill import (by default move, but it can be changed in config) files from /path/to/media/files to /output/path with date hierarchy creation and reanaming/rotating\n\n![Move example](https://user-images.githubusercontent.com/28735879/76139964-eba27280-6055-11ea-988f-aa71cda7ba36.png)\n\n### Web Interface\n  * attach usb-drive / usert memory card\n  * open http://servername:8080\n  * click \"Mount\"\n  * click \"Import\"\n  * click \"Unmount\"\n\n![Web interface example](https://user-images.githubusercontent.com/28735879/76140174-f1995300-6057-11ea-8718-19c38650c786.png)\n\n### Windows command line\n```bash\ncd photo_importer\nrun.py -c ..\\photo-importer-win.cfg path\\to\\media\\files \\output\\path\n```\n### Windows web \n```bash\nphoto-importer-server.bat\n```\n\n## Configuration\nThe server config file located in /etc/photo-importer.cfg\n\nCommand line tool config file located in ~/.photo-importer.cfg\n\nAlso config file can be specified by mean of -c command line option.\n\nFor options details see comments in the config file.\n\n## Acknowledgements\nThanks to everyone who tested and gave advice.\n\n**Bug reports, suggestions and pull request are welcome!**\n\n## Show your support\nGive a \u2b50\ufe0f if this project helped you!\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3.0",
    "summary": "Photo importer tool",
    "version": "1.2.6",
    "project_urls": {
        "Homepage": "https://github.com/sashacmc/photo-importer"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "89c2ff11b299f269c8be4878dce2eaebbeb01110d7e9a98ba71e593330b91943",
                "md5": "648f0dc8256bed620b2b8d955be084ce",
                "sha256": "d23cd6f1b92426b34617d4b6f9e9420767a86540d50c6761ca653bbd6a02d417"
            },
            "downloads": -1,
            "filename": "photo_importer-1.2.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "648f0dc8256bed620b2b8d955be084ce",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 35698,
            "upload_time": "2024-10-31T00:00:19",
            "upload_time_iso_8601": "2024-10-31T00:00:19.810966Z",
            "url": "https://files.pythonhosted.org/packages/89/c2/ff11b299f269c8be4878dce2eaebbeb01110d7e9a98ba71e593330b91943/photo_importer-1.2.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a37d6a72b3825a0a7866a5c7e559bc99ae6410b6ccb3ea5364a0ddcd0908783e",
                "md5": "98d972a9f42c96e8f2170d0647db85f3",
                "sha256": "18ddd709192dd055aa061b23617be08a1e3a8a42dfb2bd2711da28f493328dd1"
            },
            "downloads": -1,
            "filename": "photo-importer-1.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "98d972a9f42c96e8f2170d0647db85f3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 32892,
            "upload_time": "2024-10-31T00:00:21",
            "upload_time_iso_8601": "2024-10-31T00:00:21.763163Z",
            "url": "https://files.pythonhosted.org/packages/a3/7d/6a72b3825a0a7866a5c7e559bc99ae6410b6ccb3ea5364a0ddcd0908783e/photo-importer-1.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-31 00:00:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sashacmc",
    "github_project": "photo-importer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "progressbar",
            "specs": [
                [
                    "==",
                    "2.5"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    "==",
                    "5.9.5"
                ]
            ]
        },
        {
            "name": "PyExifTool",
            "specs": [
                [
                    "==",
                    "0.5.5"
                ]
            ]
        }
    ],
    "lcname": "photo-importer"
}
        
Elapsed time: 0.31134s