neos-client


Nameneos-client JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryPython client for NEOS Server
upload_time2024-01-20 15:25:29
maintainer
docs_urlNone
author
requires_python>=3.8
licenseCopyright 2024 Muhammet Soyturk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords optimization neos
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NEOS Client

This is a Neos Client for [NEOS Server: XML-RPC api](https://neos-server.org/neos/xml-rpc.html). While [the official client](https://github.com/NEOS-Server/PythonClient) only provides a queue or submit job call, this client supports the following methods:

* `is_alive()`: Equivalent to sending a ping to the server and checking the result.
* `get_job_status(job_number, job_password)`: Equivalent to getJobStatus(jobNumber, password) in NEOS Server RPC.
* `get_completion_code(job_number, job_password)`: Equivalent to getCompletionCode(jobNumber, password) in NEOS Server RPC.
* `get_job_info(job_number, job_password)`: Equivalent to getJobInfo(jobNumber, password) in NEOS Server RPC.
* `kill_job(job_number, job_password, message)`: Equivalent to killJob(jobNumber, password, killmsg="") in NEOS Server RPC.
* `get_final_results(job_number, job_password, is_blocking)`: Equivalent to getFinalResults(jobNumber, password) if it's blocking. If it's not blocking, it Equivalent to getFinalResultsNonBlocking(jobNumber, password).
* `email_job_results(job_number, job_password)`: Equivalent to emailJobResults(jobNumber, password) in NEOS Server RPC.
* `get_intermediate_results(job_number, job_password, offset, is_blocking)`: Equivalent to getIntermediateResults(jobNumber, password, offset) if it's blocking. If it's not blocking, it Equivalent to getIntermediateResultsNonBlocking(jobNumber, password).
* `download_output(job_number, job_password, working_directory)`: Downloads the results and extracts the files to the given working directory. It Equivalent to getOutputFile(job_number, job_password) in NEOS Server RPC and extracting it to the working directory.
* `print_queue()`: Prints the current queue on the server if the server is alive.
* `submit_job(xml_path, is_blocking, working_directory)`: If the username and password is given, it is equivalent to authenticatedSubmitJob(xmlstring, user, password). If the username or password is not given, it is equivalent to submitJob(xml_string). If it's blocking, it waits until all the results are received. If it's non-blocking, it immediately returns after submitting the job.

## Installation

```
pip install neos_client
```

or 

```
git clone git@github.com:mabdullahsoyturk/neos_client.git
cd neos_client
pip install .
```

## Usage

```Python
from neos_client import NeosClient

client = NeosClient(email=<your_email_address>)
client.submit_job(xml_path=<path_to_your_xml_file>)
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "neos-client",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Optimization,NEOS",
    "author": "",
    "author_email": "Muhammet Soyturk <muhammetabdullahsoyturk@gmail.com>",
    "download_url": "",
    "platform": null,
    "description": "# NEOS Client\n\nThis is a Neos Client for [NEOS Server: XML-RPC api](https://neos-server.org/neos/xml-rpc.html). While [the official client](https://github.com/NEOS-Server/PythonClient) only provides a queue or submit job call, this client supports the following methods:\n\n* `is_alive()`: Equivalent to sending a ping to the server and checking the result.\n* `get_job_status(job_number, job_password)`: Equivalent to getJobStatus(jobNumber, password) in NEOS Server RPC.\n* `get_completion_code(job_number, job_password)`: Equivalent to getCompletionCode(jobNumber, password) in NEOS Server RPC.\n* `get_job_info(job_number, job_password)`: Equivalent to getJobInfo(jobNumber, password) in NEOS Server RPC.\n* `kill_job(job_number, job_password, message)`: Equivalent to killJob(jobNumber, password, killmsg=\"\") in NEOS Server RPC.\n* `get_final_results(job_number, job_password, is_blocking)`: Equivalent to getFinalResults(jobNumber, password) if it's blocking. If it's not blocking, it Equivalent to getFinalResultsNonBlocking(jobNumber, password).\n* `email_job_results(job_number, job_password)`: Equivalent to emailJobResults(jobNumber, password) in NEOS Server RPC.\n* `get_intermediate_results(job_number, job_password, offset, is_blocking)`: Equivalent to getIntermediateResults(jobNumber, password, offset) if it's blocking. If it's not blocking, it Equivalent to getIntermediateResultsNonBlocking(jobNumber, password).\n* `download_output(job_number, job_password, working_directory)`: Downloads the results and extracts the files to the given working directory. It Equivalent to getOutputFile(job_number, job_password) in NEOS Server RPC and extracting it to the working directory.\n* `print_queue()`: Prints the current queue on the server if the server is alive.\n* `submit_job(xml_path, is_blocking, working_directory)`: If the username and password is given, it is equivalent to authenticatedSubmitJob(xmlstring, user, password). If the username or password is not given, it is equivalent to submitJob(xml_string). If it's blocking, it waits until all the results are received. If it's non-blocking, it immediately returns after submitting the job.\n\n## Installation\n\n```\npip install neos_client\n```\n\nor \n\n```\ngit clone git@github.com:mabdullahsoyturk/neos_client.git\ncd neos_client\npip install .\n```\n\n## Usage\n\n```Python\nfrom neos_client import NeosClient\n\nclient = NeosClient(email=<your_email_address>)\nclient.submit_job(xml_path=<path_to_your_xml_file>)\n```\n",
    "bugtrack_url": null,
    "license": "Copyright 2024 Muhammet Soyturk  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \u201cSoftware\u201d), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \u201cAS IS\u201d, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Python client for NEOS Server",
    "version": "0.0.1",
    "project_urls": {
        "repository": "https://github.com/mabdullahsoyturk/neos_client"
    },
    "split_keywords": [
        "optimization",
        "neos"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eb29e3e7d8725e42d58f8369a2de8eda28a7941e9c55d5f02f1c65ca46ee9f49",
                "md5": "2d31ad5a21cfbdacd47252cdc3f1cfd7",
                "sha256": "fcb69409f866021794ab0df31ae795260b77f0e04206b5ce9478ca81f5056f65"
            },
            "downloads": -1,
            "filename": "neos_client-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2d31ad5a21cfbdacd47252cdc3f1cfd7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 6366,
            "upload_time": "2024-01-20T15:25:29",
            "upload_time_iso_8601": "2024-01-20T15:25:29.442001Z",
            "url": "https://files.pythonhosted.org/packages/eb/29/e3e7d8725e42d58f8369a2de8eda28a7941e9c55d5f02f1c65ca46ee9f49/neos_client-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-20 15:25:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mabdullahsoyturk",
    "github_project": "neos_client",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "neos-client"
}
        
Elapsed time: 0.16315s