renovation


Namerenovation JSON
Version 0.1.0 PyPI version JSON
download
home_page
SummaryDrawing tool that produces floor plans needed to renovate an apartment
upload_time2024-02-26 08:17:57
maintainer
docs_urlNone
author
requires_python>=3.8
license
keywords apartments drawing floor_plan floor_plans
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version](https://badge.fury.io/py/renovation.svg)](https://pypi.org/project/renovation/)

# Renovation

## Overview

This is a drawing tool that produces floor plans needed to renovate an apartment.

Walls, doors, windows, and dimension arrows are supported. Some other elements can be composed of them. For example, in the next section it is shown how to draw ventilation duct and French balcony.

## Usage

To install a stable version, run:
```bash
pip install renovation
```

To generate floor plans, run:
```bash
python -m renovation -c /path/to/config.yml
```
Here, config in YAML is a custom file where properties of each element to be drawn are set. These properties include location, orientation, size, and so on. Compared with drag-and-drop tools, config-based interface simplifies fine-grained control.

Let us dive into details. Please look at a [demo example](https://github.com/Nikolay-Lysenko/renovation/blob/master/docs/demo_config.yml) as s reference while reading further explanations.

The section named `project` defines properties of output such as:
* Extension (multi-page PDF document, directory with PNG images, or both)
* Location
* DPI (dots-per-inch, resolution)

In the demo config, only PNG output is requested and the generated images are shown below: 

![floor_plan_with_dimensions.png](https://github.com/Nikolay-Lysenko/renovation/blob/master/docs/images/floor_plan_with_dimensions.png)

![floor_plan_without_dimensions.png](https://github.com/Nikolay-Lysenko/renovation/blob/master/docs/images/floor_plan_without_dimensions.png)

In the section named `default_layout`, below parameters are set for floor plans that do not override them in their `layout` sections:
* Dimensions of area to be drawn (in real-world meters, i.e., meters prior to scaling)
* Scale
* Grid settings

The section named `reusable_elements` is designed to store arbitrary collections of elements that can be used by individual floor plans. Demo example uses it to define walls, windows, and doors.

Finally, settings of individual floor plans are listed. These settings might include:
* Title
* Layout
* Names of element collections to reuse
* Extra elements

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "renovation",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "apartments,drawing,floor_plan,floor_plans",
    "author": "",
    "author_email": "Nikolay Lysenko <nikolay-lysenco@yandex.ru>",
    "download_url": "https://files.pythonhosted.org/packages/44/6c/3394f6e28aef4cde00df633c8dad61ccf6b87a8f433abfc8de1b51866468/renovation-0.1.0.tar.gz",
    "platform": null,
    "description": "[![PyPI version](https://badge.fury.io/py/renovation.svg)](https://pypi.org/project/renovation/)\n\n# Renovation\n\n## Overview\n\nThis is a drawing tool that produces floor plans needed to renovate an apartment.\n\nWalls, doors, windows, and dimension arrows are supported. Some other elements can be composed of them. For example, in the next section it is shown how to draw ventilation duct and French balcony.\n\n## Usage\n\nTo install a stable version, run:\n```bash\npip install renovation\n```\n\nTo generate floor plans, run:\n```bash\npython -m renovation -c /path/to/config.yml\n```\nHere, config in YAML is a custom file where properties of each element to be drawn are set. These properties include location, orientation, size, and so on. Compared with drag-and-drop tools, config-based interface simplifies fine-grained control.\n\nLet us dive into details. Please look at a [demo example](https://github.com/Nikolay-Lysenko/renovation/blob/master/docs/demo_config.yml) as s reference while reading further explanations.\n\nThe section named `project` defines properties of output such as:\n* Extension (multi-page PDF document, directory with PNG images, or both)\n* Location\n* DPI (dots-per-inch, resolution)\n\nIn the demo config, only PNG output is requested and the generated images are shown below: \n\n![floor_plan_with_dimensions.png](https://github.com/Nikolay-Lysenko/renovation/blob/master/docs/images/floor_plan_with_dimensions.png)\n\n![floor_plan_without_dimensions.png](https://github.com/Nikolay-Lysenko/renovation/blob/master/docs/images/floor_plan_without_dimensions.png)\n\nIn the section named `default_layout`, below parameters are set for floor plans that do not override them in their `layout` sections:\n* Dimensions of area to be drawn (in real-world meters, i.e., meters prior to scaling)\n* Scale\n* Grid settings\n\nThe section named `reusable_elements` is designed to store arbitrary collections of elements that can be used by individual floor plans. Demo example uses it to define walls, windows, and doors.\n\nFinally, settings of individual floor plans are listed. These settings might include:\n* Title\n* Layout\n* Names of element collections to reuse\n* Extra elements\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Drawing tool that produces floor plans needed to renovate an apartment",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/Nikolay-Lysenko/renovation"
    },
    "split_keywords": [
        "apartments",
        "drawing",
        "floor_plan",
        "floor_plans"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dce0cbfb5f21c7f9c3d829c3cae86530ef9861f11467164367e40d8fd9f7e632",
                "md5": "ab13088af007a90abac3ea3cd6e8312e",
                "sha256": "1ce16f5749fb0c669598cf33ecab4d6fb0cf0c380168fe15d718d0d33feb19b5"
            },
            "downloads": -1,
            "filename": "renovation-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ab13088af007a90abac3ea3cd6e8312e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 8951,
            "upload_time": "2024-02-26T08:17:56",
            "upload_time_iso_8601": "2024-02-26T08:17:56.085501Z",
            "url": "https://files.pythonhosted.org/packages/dc/e0/cbfb5f21c7f9c3d829c3cae86530ef9861f11467164367e40d8fd9f7e632/renovation-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "446c3394f6e28aef4cde00df633c8dad61ccf6b87a8f433abfc8de1b51866468",
                "md5": "0e5772c27a19dc6203c1afedf4a09eff",
                "sha256": "692dd6ef347aafe1c8d7da7b2e56d02e3d5981d5ae81114035f7a90dc4f0ffa4"
            },
            "downloads": -1,
            "filename": "renovation-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0e5772c27a19dc6203c1afedf4a09eff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 9012,
            "upload_time": "2024-02-26T08:17:57",
            "upload_time_iso_8601": "2024-02-26T08:17:57.928076Z",
            "url": "https://files.pythonhosted.org/packages/44/6c/3394f6e28aef4cde00df633c8dad61ccf6b87a8f433abfc8de1b51866468/renovation-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-26 08:17:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Nikolay-Lysenko",
    "github_project": "renovation",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "renovation"
}
        
Elapsed time: 0.19581s