FamcyDev


NameFamcyDev JSON
Version 0.3.62 PyPI version JSON
download
home_pagehttps://github.com/nexuni/Famcy.git
SummaryNexuni Co Ltd. Famcy management console framework
upload_time2022-06-23 20:58:41
maintainer
docs_urlNone
authorNexuni Co Ltd. Develop Team
requires_python>=3.6
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # FAMCY
![famcy_logo](famcylogo.png)

Famcy is an All-round Management Console for You (FAMCY). It is designed for Nexuni Co. Management Console app development. The goal of this framework is to provide a lightweighted, python-based frontend development platform for web applications. It is built on top of the Flask framework and contains various useful plugins for backend management and user dashboard actions. As we work on a lot of robotics and automation related applications, FAMCY natively supports [ROS2](https://docs.ros.org/en/foxy/index.html) integration. 

## Prerequisites
For now, we only support ubuntu development with python3.7. If you have other environment settings, please use our [docker](https://github.com/nexuni/FamcyDocker)!

1. Make sure your home directory start with ```/home/{USER}/....```
2. Make sure ```python3.7``` exist in your CLI environment. 

## Installation
The installation requires the install of additional package [FamcyTools](https://github.com/nexuni/FamcyTools). 
1. Install FamcyTools
```
pip3 install FamcyTools
```
2. Initialize famcy environment
```
famcy init {PROJECT_NAME} (e.g. famcy init template)
```
Wait until it finishes initialization and ignore warnings for now. It will generate the environment in ```~/.local/share/famcy/{PROJECT_NAME}``` with initial template `console`, `logs`, and `venv`. 
3. You can start developing your famcy software or import your existing code to the console folder. 

## Usage
After you finish all the development, you would need to run the following command to deploy your code. 
```
famcy deploy {PROJECT_NAME}
```
### Development
When you are running this in a debugging mode. We have provided a basic run and test method that link the web to your local port. Please run the following command to achieve this. 
```
famcy run {PROJECT_NAME}
```
### Deploy
When it comes to deploying to the production instance, you should follow the steps:
1. Make sure you have run ```famcy deploy {PROJECT_NAME}``` and you should get an output similar to the following:
```
== Copy the following part and setup system service == (Need to change path if necessary)

[Unit]
Description=uWSGI instance to serve famcy
After=network.target

[Service]
User=user
Group=www-data
WorkingDirectory=/home/user/.local/share/famcy/template/venv/lib/python3.7/site-packages/Famcy
Environment="PATH=/home/user/.local/share/famcy/template/venv/bin"
ExecStart=/home/user/.local/share/famcy/template/venv/bin/uwsgi --ini famcy.ini --lazy

[Install]
WantedBy=multi-user.target


== Copy the following part to nginx configurations == (Need to change alias path if necessary)

location / {
	include uwsgi_params;
	uwsgi_pass unix:/tmp/template.sock;
}

location /static  {
    alias /home/user/.local/share/famcy/template/venv/lib/python3.7/site-packages/Famcy/static;
}

Deployed to wsgi
```
2. Create a system file and copy the consequent info into the system configuration. Please double check the system path is correct. 
3. Create a nginx configuration file with the info above. 
4. Modify ```/etc/nginx/nginx.conf``` file and set the user to the username of your instance.
5. Restart the system service you have created.  

## Features
We provided default services with some default pages in Famcy. 

* [Famcy Quick Start](https://github.com/nexuni/Famcy/blob/main/docs/fstart.md)
* [FamcyPage](https://github.com/nexuni/Famcy/blob/main/docs/fpage.md)
* [FamcyItems](https://github.com/nexuni/Famcy/blob/main/docs/fitems.md)
* [FamcyStyles](https://github.com/nexuni/Famcy/blob/main/docs/fstyles.md)
* [FamcyElements](https://github.com/nexuni/Famcy/blob/main/docs/felements.md)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nexuni/Famcy.git",
    "name": "FamcyDev",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Nexuni Co Ltd. Develop Team",
    "author_email": "developers@nexuni.com",
    "download_url": "",
    "platform": null,
    "description": "# FAMCY\n![famcy_logo](famcylogo.png)\n\nFamcy is an All-round Management Console for You (FAMCY). It is designed for Nexuni Co. Management Console app development. The goal of this framework is to provide a lightweighted, python-based frontend development platform for web applications. It is built on top of the Flask framework and contains various useful plugins for backend management and user dashboard actions. As we work on a lot of robotics and automation related applications, FAMCY natively supports [ROS2](https://docs.ros.org/en/foxy/index.html) integration. \n\n## Prerequisites\nFor now, we only support ubuntu development with python3.7. If you have other environment settings, please use our [docker](https://github.com/nexuni/FamcyDocker)!\n\n1. Make sure your home directory start with ```/home/{USER}/....```\n2. Make sure ```python3.7``` exist in your CLI environment. \n\n## Installation\nThe installation requires the install of additional package [FamcyTools](https://github.com/nexuni/FamcyTools). \n1. Install FamcyTools\n```\npip3 install FamcyTools\n```\n2. Initialize famcy environment\n```\nfamcy init {PROJECT_NAME} (e.g. famcy init template)\n```\nWait until it finishes initialization and ignore warnings for now. It will generate the environment in ```~/.local/share/famcy/{PROJECT_NAME}``` with initial template `console`, `logs`, and `venv`. \n3. You can start developing your famcy software or import your existing code to the console folder. \n\n## Usage\nAfter you finish all the development, you would need to run the following command to deploy your code. \n```\nfamcy deploy {PROJECT_NAME}\n```\n### Development\nWhen you are running this in a debugging mode. We have provided a basic run and test method that link the web to your local port. Please run the following command to achieve this. \n```\nfamcy run {PROJECT_NAME}\n```\n### Deploy\nWhen it comes to deploying to the production instance, you should follow the steps:\n1. Make sure you have run ```famcy deploy {PROJECT_NAME}``` and you should get an output similar to the following:\n```\n== Copy the following part and setup system service == (Need to change path if necessary)\n\n[Unit]\nDescription=uWSGI instance to serve famcy\nAfter=network.target\n\n[Service]\nUser=user\nGroup=www-data\nWorkingDirectory=/home/user/.local/share/famcy/template/venv/lib/python3.7/site-packages/Famcy\nEnvironment=\"PATH=/home/user/.local/share/famcy/template/venv/bin\"\nExecStart=/home/user/.local/share/famcy/template/venv/bin/uwsgi --ini famcy.ini --lazy\n\n[Install]\nWantedBy=multi-user.target\n\n\n== Copy the following part to nginx configurations == (Need to change alias path if necessary)\n\nlocation / {\n\tinclude uwsgi_params;\n\tuwsgi_pass unix:/tmp/template.sock;\n}\n\nlocation /static  {\n    alias /home/user/.local/share/famcy/template/venv/lib/python3.7/site-packages/Famcy/static;\n}\n\nDeployed to wsgi\n```\n2. Create a system file and copy the consequent info into the system configuration. Please double check the system path is correct. \n3. Create a nginx configuration file with the info above. \n4. Modify ```/etc/nginx/nginx.conf``` file and set the user to the username of your instance.\n5. Restart the system service you have created.  \n\n## Features\nWe provided default services with some default pages in Famcy. \n\n* [Famcy Quick Start](https://github.com/nexuni/Famcy/blob/main/docs/fstart.md)\n* [FamcyPage](https://github.com/nexuni/Famcy/blob/main/docs/fpage.md)\n* [FamcyItems](https://github.com/nexuni/Famcy/blob/main/docs/fitems.md)\n* [FamcyStyles](https://github.com/nexuni/Famcy/blob/main/docs/fstyles.md)\n* [FamcyElements](https://github.com/nexuni/Famcy/blob/main/docs/felements.md)\n\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Nexuni Co Ltd. Famcy management console framework",
    "version": "0.3.62",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "21de41a6a04d72e4269ffdcbd0411d04",
                "sha256": "f0ad7c8b77c6b100517c61a6bf834ec7c0d513e82a8409aec5435b1903300599"
            },
            "downloads": -1,
            "filename": "FamcyDev-0.3.62-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "21de41a6a04d72e4269ffdcbd0411d04",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6013304,
            "upload_time": "2022-06-23T20:58:41",
            "upload_time_iso_8601": "2022-06-23T20:58:41.587204Z",
            "url": "https://files.pythonhosted.org/packages/91/fa/85628c21d2ec38f59743e542c2e29fb88032868c9fd1c362b0d0cf019ba1/FamcyDev-0.3.62-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-06-23 20:58:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "nexuni",
    "github_project": "Famcy.git",
    "lcname": "famcydev"
}
        
Elapsed time: 0.89954s