PySPG


NamePySPG JSON
Version 5.0.3 PyPI version JSON
download
home_pagehttps://github.com/tessonec/PySPG
SummaryPython Systematic Parameter Generator
upload_time2022-12-13 04:19:14
maintainer
docs_urlNone
authorClaudio J. Tessone
requires_python
license
keywords simulations parameters optimisation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PySPG is a set of python classes aimed to those of you that must (or wish to)
run programs in which some parameters change.

For example: Let's suppose you want to run simulations in which three
parameters are involved, let's say D, k, a. These are some possible scenarios

You want to run a simulation in which D, k are kept fixed while a linearly
changes between (eeeer...) 0 and 5 with a step of 0.2. It's really easy: in the
language of your choice you write a program that performs the simulation and
before and after the important part of a simulation, you just add a loop on the
a variable. Now you are done But after that, you want to keep fixed D. Now both
k and a vary linearly between 0 and 5 with a step of 0.2. It's easy once again:
you just add an external loop on the k variable. And you're done again. But
note that you had to recompile your code without changing the important part of
your code: The simulation.

After those simulations you realise that the scale relevant for the variable a
is not a linear one, but logarithmic. Although the change is easy, you must
recompile.  And if you want to run a simulation in which the variation is on D
variable? Obviously compile the whole thing again...
And if the variation must be exponential???
...

Well, perhaps you do not have to recompile if you program in an interpreted
language. But what you are doing is touch on, and on, and on again your source
code. The probability of doing something weird increases.

The only relevant information your program returns is the measures for each
parameter set. The parameter variation is something subsidiary of the main
point of the program, that is performing measures. The values of the variables
can be set from outside. And this is the point of PySPG.

With PySPG you can extract one layer of complexity from your compiled code. For
long simulations, is obvious that the time your program takes to run is NOT in
the loops of changing parameters. In this way, you can avoid the problem of
writing boring code and just write a simple text file that will launch the
other program for you.

PySPG generates a directory hierarchy that allows you to easily navigate your
data.

Is it all?

No. Although not so well documented yet, PySPG also features a generator of
plots for your simulations. It can automatically generate 2D-plots in the
format of Grace, and for a future version, a 3D utility is planned. Also an
automatic report generator (TeX-based) is half-done. And it is GPL'd, so you
can extend it as much as you wish.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/tessonec/PySPG",
    "name": "PySPG",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "simulations parameters optimisation",
    "author": "Claudio J. Tessone",
    "author_email": "claudio.tessone@uzh.ch",
    "download_url": "https://files.pythonhosted.org/packages/65/53/d9833f639fb0088ebfe4570cfef9d107951bd0a5587daab38b79b1404517/PySPG-5.0.3.tar.gz",
    "platform": null,
    "description": "PySPG is a set of python classes aimed to those of you that must (or wish to)\nrun programs in which some parameters change.\n\nFor example: Let's suppose you want to run simulations in which three\nparameters are involved, let's say D, k, a. These are some possible scenarios\n\nYou want to run a simulation in which D, k are kept fixed while a linearly\nchanges between (eeeer...) 0 and 5 with a step of 0.2. It's really easy: in the\nlanguage of your choice you write a program that performs the simulation and\nbefore and after the important part of a simulation, you just add a loop on the\na variable. Now you are done But after that, you want to keep fixed D. Now both\nk and a vary linearly between 0 and 5 with a step of 0.2. It's easy once again:\nyou just add an external loop on the k variable. And you're done again. But\nnote that you had to recompile your code without changing the important part of\nyour code: The simulation.\n\nAfter those simulations you realise that the scale relevant for the variable a\nis not a linear one, but logarithmic. Although the change is easy, you must\nrecompile.  And if you want to run a simulation in which the variation is on D\nvariable? Obviously compile the whole thing again...\nAnd if the variation must be exponential???\n...\n\nWell, perhaps you do not have to recompile if you program in an interpreted\nlanguage. But what you are doing is touch on, and on, and on again your source\ncode. The probability of doing something weird increases.\n\nThe only relevant information your program returns is the measures for each\nparameter set. The parameter variation is something subsidiary of the main\npoint of the program, that is performing measures. The values of the variables\ncan be set from outside. And this is the point of PySPG.\n\nWith PySPG you can extract one layer of complexity from your compiled code. For\nlong simulations, is obvious that the time your program takes to run is NOT in\nthe loops of changing parameters. In this way, you can avoid the problem of\nwriting boring code and just write a simple text file that will launch the\nother program for you.\n\nPySPG generates a directory hierarchy that allows you to easily navigate your\ndata.\n\nIs it all?\n\nNo. Although not so well documented yet, PySPG also features a generator of\nplots for your simulations. It can automatically generate 2D-plots in the\nformat of Grace, and for a future version, a 3D utility is planned. Also an\nautomatic report generator (TeX-based) is half-done. And it is GPL'd, so you\ncan extend it as much as you wish.\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Python Systematic Parameter Generator",
    "version": "5.0.3",
    "split_keywords": [
        "simulations",
        "parameters",
        "optimisation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "984521f2511c13fcc26b3b628c01a0aa",
                "sha256": "a111b7885df34aba1614bdb72bca1cbf72341b6639814dafc8b6ca1dad951f0d"
            },
            "downloads": -1,
            "filename": "PySPG-5.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "984521f2511c13fcc26b3b628c01a0aa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 76170,
            "upload_time": "2022-12-13T04:19:08",
            "upload_time_iso_8601": "2022-12-13T04:19:08.241563Z",
            "url": "https://files.pythonhosted.org/packages/1c/0e/e2578ba2aee3f190cf69673f09f621f95b3a496f621346c496f8df6e6219/PySPG-5.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "f4e485122f5be05bf96323d34af0f538",
                "sha256": "9bba9a23c142aedea2cc9a26b0778b726ff247de624f27eec1ad61fdfadeed3f"
            },
            "downloads": -1,
            "filename": "PySPG-5.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "f4e485122f5be05bf96323d34af0f538",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 65998,
            "upload_time": "2022-12-13T04:19:14",
            "upload_time_iso_8601": "2022-12-13T04:19:14.096847Z",
            "url": "https://files.pythonhosted.org/packages/65/53/d9833f639fb0088ebfe4570cfef9d107951bd0a5587daab38b79b1404517/PySPG-5.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-13 04:19:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "tessonec",
    "github_project": "PySPG",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pyspg"
}
        
Elapsed time: 0.34945s