pmpsdb-client


Namepmpsdb-client JSON
Version 1.2.0 PyPI version JSON
download
home_pageNone
SummaryClient application for interfacing with the PMPS database and the deployed PLC files.
upload_time2024-04-12 21:46:29
maintainerNone
docs_urlNone
authorSLAC National Accelerator Laboratory
requires_python>=3.9
licenseCopyright (c) 2022, The Board of Trustees of the Leland Stanford Junior University, through SLAC National Accelerator Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: (1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. (3) Neither the name of the Leland Stanford Junior University, SLAC National Accelerator Laboratory, U.S. Dept. of Energy nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER, THE UNITED STATES GOVERNMENT, OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to SLAC National Accelerator Laboratory, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such Enhancements or derivative works thereof, in binary and source code form.
keywords pmps pmpsdb lcls
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pmpsdb_client

## Overview
This is a gui and cli application for managing the deployment and inspection of
PMPS database files on production PLCs at LCLS.
It provides tools to make deployment and verification of deployment seamless and easy.


## Usage
Once installed, this application can be invoked via `pmpsdb`. For example, here is
the current output of `pmpsdb --help`:

```
usage: pmpsdb [-h] [--version] [--verbose] [--export-dir EXPORT_DIR] {gui,list-files,upload-to,download-from,compare,reload} ...

PMPS database deployment helpers

positional arguments:
  {gui,list-files,upload-to,download-from,compare,reload}
    gui                 Open the pmpsdb gui.
    list-files          Show all files uploaded to a PLC.
    upload-to           Upload a database export file to a PLC.
    download-from       Download a database file previously exported to a PLC.
    compare             Compare files beteween the local exports and the PLC.
    reload              Force the PLC to re-read the database export while running.

optional arguments:
  -h, --help            show this help message and exit
  --version             Show version information and exit
  --verbose, -v         Show tracebacks and debug statements
  --export-dir EXPORT_DIR, -e EXPORT_DIR
                        The directory that contains database file exports.
```

From a git clone, you can invoke the same script without needing to install the
package. This is done from the root directory here by calling
`python -m pmpsdb --help`, for example.

This application will not work unless you have access to the LCLS controls networks.
It is designed to run on an endstation's operator consoles.

The most common usage will be to open the gui from an operator console as simply `pmpsdb gui`.


## Installation
This package can be installed using recent versions of `pip` that support
the `pyproject.toml` format.

To install, you can choose one of the following:
- `pip install pmpsdb_client` to install from pypi
- clone this repo, check out the desired tag, and run the following from the root directory: `pip install .`
- install directly from github via: `pip install 'pmpsdb_client @ git+https://github.com/pcdshub/pmpsdb_client@v1.1.2'` for example, to install version v1.1.2.


## PLC Configuration
The PLC must have the following configuration:

- ftp enabled, with either the default logins or anonymous uploads enabled
- firewall TCP ports 20-21 allowed

These are both editable in the CX Configuration Tool.
Enabling the ftp server will require a PLC restart, updating the firewall will not.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pmpsdb-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "pmps, pmpsdb, lcls",
    "author": "SLAC National Accelerator Laboratory",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/7b/70/8bf55d260d7d371dc9573a30202454b1c00dd4ae3cb51f9c2794e464737e/pmpsdb_client-1.2.tar.gz",
    "platform": null,
    "description": "# pmpsdb_client\n\n## Overview\nThis is a gui and cli application for managing the deployment and inspection of\nPMPS database files on production PLCs at LCLS.\nIt provides tools to make deployment and verification of deployment seamless and easy.\n\n\n## Usage\nOnce installed, this application can be invoked via `pmpsdb`. For example, here is\nthe current output of `pmpsdb --help`:\n\n```\nusage: pmpsdb [-h] [--version] [--verbose] [--export-dir EXPORT_DIR] {gui,list-files,upload-to,download-from,compare,reload} ...\n\nPMPS database deployment helpers\n\npositional arguments:\n  {gui,list-files,upload-to,download-from,compare,reload}\n    gui                 Open the pmpsdb gui.\n    list-files          Show all files uploaded to a PLC.\n    upload-to           Upload a database export file to a PLC.\n    download-from       Download a database file previously exported to a PLC.\n    compare             Compare files beteween the local exports and the PLC.\n    reload              Force the PLC to re-read the database export while running.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --version             Show version information and exit\n  --verbose, -v         Show tracebacks and debug statements\n  --export-dir EXPORT_DIR, -e EXPORT_DIR\n                        The directory that contains database file exports.\n```\n\nFrom a git clone, you can invoke the same script without needing to install the\npackage. This is done from the root directory here by calling\n`python -m pmpsdb --help`, for example.\n\nThis application will not work unless you have access to the LCLS controls networks.\nIt is designed to run on an endstation's operator consoles.\n\nThe most common usage will be to open the gui from an operator console as simply `pmpsdb gui`.\n\n\n## Installation\nThis package can be installed using recent versions of `pip` that support\nthe `pyproject.toml` format.\n\nTo install, you can choose one of the following:\n- `pip install pmpsdb_client` to install from pypi\n- clone this repo, check out the desired tag, and run the following from the root directory: `pip install .`\n- install directly from github via: `pip install 'pmpsdb_client @ git+https://github.com/pcdshub/pmpsdb_client@v1.1.2'` for example, to install version v1.1.2.\n\n\n## PLC Configuration\nThe PLC must have the following configuration:\n\n- ftp enabled, with either the default logins or anonymous uploads enabled\n- firewall TCP ports 20-21 allowed\n\nThese are both editable in the CX Configuration Tool.\nEnabling the ftp server will require a PLC restart, updating the firewall will not.\n",
    "bugtrack_url": null,
    "license": "Copyright (c) 2022, The Board of Trustees of the Leland Stanford Junior University, through SLAC National Accelerator Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  (1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  (3) Neither the name of the Leland Stanford Junior University, SLAC National Accelerator Laboratory, U.S. Dept. of Energy nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER, THE UNITED STATES GOVERNMENT, OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code (\"Enhancements\") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to SLAC National Accelerator Laboratory, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such Enhancements or derivative works thereof, in binary and source code form. ",
    "summary": "Client application for interfacing with the PMPS database and the deployed PLC files.",
    "version": "1.2.0",
    "project_urls": null,
    "split_keywords": [
        "pmps",
        " pmpsdb",
        " lcls"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ab65ab22146d9af689d8404711769ce3c2bff823c45fe517652788780b32f02e",
                "md5": "d57ebf51a2b62712c9ce9a05f4b8c0fc",
                "sha256": "ac10d6027fb6b00c2a1b928b7799e4f53110eecb1b1066b074fe9711d260345c"
            },
            "downloads": -1,
            "filename": "pmpsdb_client-1.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d57ebf51a2b62712c9ce9a05f4b8c0fc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 38128,
            "upload_time": "2024-04-12T21:46:28",
            "upload_time_iso_8601": "2024-04-12T21:46:28.653229Z",
            "url": "https://files.pythonhosted.org/packages/ab/65/ab22146d9af689d8404711769ce3c2bff823c45fe517652788780b32f02e/pmpsdb_client-1.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b708bf55d260d7d371dc9573a30202454b1c00dd4ae3cb51f9c2794e464737e",
                "md5": "2084621a59fce4770a8cb4e1ce3d2e6b",
                "sha256": "6a3642134b3bc4c34c71647cb46142d396de378632d02e7028304c454d429125"
            },
            "downloads": -1,
            "filename": "pmpsdb_client-1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "2084621a59fce4770a8cb4e1ce3d2e6b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 35191,
            "upload_time": "2024-04-12T21:46:29",
            "upload_time_iso_8601": "2024-04-12T21:46:29.640203Z",
            "url": "https://files.pythonhosted.org/packages/7b/70/8bf55d260d7d371dc9573a30202454b1c00dd4ae3cb51f9c2794e464737e/pmpsdb_client-1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-12 21:46:29",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pmpsdb-client"
}
        
Elapsed time: 0.31685s