{ "info": { "author": "Meshcheryakov A. Georgy", "author_email": "metsheryakov_ga@spbstu.ru", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# semopy\n[![Documentation Status](https://readthedocs.org/projects/semopy/badge/?version=latest)](https://semopy.readthedocs.io/en/latest/?badge=latest)\n\n\n**semopy** is an umbrella Python package that includes numerous Structural Equation Modelling (SEM) techniques. \n\n## Features\n - Write down a model description in a user-friendly syntax\n - Estimate model's parameters using a variety of objective functions\n - Calculate numerous statistics and fit indices\n - Estimate model's parameters in presence of ordinal variables\n - A vast number of settings to fit a researcher's needs\n - Fast and accurate\n\n## Installation\n**semopy** is available at PyPi and can be installed by typing the following line into terminal:\n\n`pip install semopy`\n\n\n## Syntax\nTo specify SEM models, The **semopy** uses the syntax, which is natural to describe regression models in R. The syntax supports three operator symbols characterising relationships between variables:\n\n- ~ to specify structural part,\n- =~ to specify measurement part,\n- ~~ to specify common variance between variables.\n\nFor example, let a linear equation in the structural part of SEM model take the form:\n\n`y = \u03b21 x1 + \u03b22 x2 + \u03b5` \n\nThen, in **semopy** syntax it becomes:\n\n`y ~ x1 + x2`\n\nParameters \u03b21, \u03b22 are to be estimated by **semopy**. In some cases a user might want to fix some of parameters to particular value. For instance, let's assume that we want \u03b21 to stay equal to 2.0 and we are only interested in estimating \u03b22:\n\n`y ~ 2*x1 + x2`\n\n\nLikewise, if a latent variable \u03b7 is explained by manifest variables y1, y2, y3, then in **semopy** syntax it can be written down this way:\n\n`eta =~ y1 + y2 + y3`\n\nIt is also possible to specify a type of variable. If variable x2 is ordinal, we can inform package about it by using a special operator \"is\":\n\n`x2 is ordinal`\n\n\n## Quickstart\nFor Jupyter notebooks examples with real data see [Examples](https://bitbucket.org/herrberg/semopy/src/master/examples/) directory.\n\nThe pipeline for working with SEM models in **semopy** consists of three steps:\n1. Specifying a model\n2. Loading a dataset to the model\n3. Estimating parameters of the model.\n\nTwo main objects required for scpecifying and estimating an SEM model are *Model* and *Optimizer*.\n\n*Model* is responsible for setting up a model from the proposed SEM syntax:\n~~~\n# The first step\nfrom semopy import Model\nmod = \"\"\" x1 ~ x2 + x3\n x3 ~ x2 + eta1\n eta1 =~ y1 + y2 + y3\n eta1 ~ x1\n \"\"\"\nmodel = Model(mod)\n~~~\nThen a dataset should be provided; at this step the initial values of parameters are calculated:\n~~~\n# The second step\nfrom pandas import read_csv\ndata = read_csv(\"my_data_file.csv\", index_col=0)\nmodel.load_dataset(data)\n~~~\n\n\nTo estimate parameters of the model an *Optimizer* object should be initialised and estimation executed:\n~~~\n# The third step\nfrom semopy import Optimizer\nopt = Optimizer(model)\nobjective_function_value = opt.optimize()\n~~~\n\nThe default objective function for estimating parameters is the likelihood function and the optimisation method is SLSQP (Sequential Least-Squares Quadratic Programming). However, the *semopy* supports a wide range of other objective functions and optimisation schemes being specified as parameters in the *optimize* method.\n\nFinally, user can inspect parameters' estimates:\n\n~~~\nfrom semopy.inspector import inspect\ninspect(opt)\n~~~\n\n## Documentation\nAll methods and classes have a docstring provided and a **Sphinx**-generated documentation is also available at [ReadTheDocs](semopy.readthedocs.io). For more details see an article.\n\n\n## Requirements\n**numpy**, **pandas**, **scipy**, **portmin** (our **portmin** [port](pypi.org/portmin), also requires **Cython**).\n\n## Authors\n\n* **Mescheryakov A. Georgy** - *Developer* - [Herrberg](https://bitbucket.org/herrberg) - undegraduate student, SPbSTU\n* **Igolkina A. Anna** - *Supervisor* - [iganna](https://github.com/iganna) - PhD, SPbSTU\n\n## License\nThis project is licensed under the MIT License - see the LICENSE.md file for details.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/herrberg/semopy/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "semopy", "package_url": "https://pypi.org/project/semopy/", "platform": "", "project_url": "https://pypi.org/project/semopy/", "project_urls": { "Homepage": "https://bitbucket.org/herrberg/semopy/" }, "release_url": "https://pypi.org/project/semopy/1.3.5/", "requires_dist": null, "requires_python": "", "summary": "Structural Equation Modeling optimization package.", "version": "1.3.5" }, "last_serial": 5766069, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "1310f8cb57567087f6a2f259e7f1e13a", "sha256": "19e7b26ab98aa1839ede63a8d17d6380bdd21c0bec816ec600c5426d428fbf67" }, "downloads": -1, "filename": "semopy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1310f8cb57567087f6a2f259e7f1e13a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18700, "upload_time": "2018-07-27T00:45:44", "url": "https://files.pythonhosted.org/packages/fd/fb/7465133ee3595123fcaae2f988eeff7c767a4ffba940fc29f8056cc0fabb/semopy-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "5b149c8a576d7cc739feff1d4b5784ae", "sha256": "aafd3591988308efbc6d491a85f04b57926e9354911eadefdde954246538ee3b" }, "downloads": -1, "filename": "semopy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "5b149c8a576d7cc739feff1d4b5784ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18696, "upload_time": "2018-07-27T09:18:28", "url": "https://files.pythonhosted.org/packages/9d/7b/38abaeeaf4f03676e3e0c151f3781243c5e0ffd90bc773b47212819724c8/semopy-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "fc4bbd05a8af176ad9d1d54440adf313", "sha256": "4ffd274525bcf1f8b6de0f27f2cd37083bf46b45e431c695f9b97e9a567a9fec" }, "downloads": -1, "filename": "semopy-1.0.10.tar.gz", "has_sig": false, "md5_digest": "fc4bbd05a8af176ad9d1d54440adf313", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20457, "upload_time": "2018-10-29T22:16:31", "url": "https://files.pythonhosted.org/packages/eb/fc/a9279c677aed577ab4d7f710e1dd76d9ea768014c0033a185ee50f1f1583/semopy-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "30c5a6b352e42fe5cac465260413d3cd", "sha256": "4398e058e5fb00ee7ce1545e9e3eb3c607b51a05d71f521b333eddb84808db9e" }, "downloads": -1, "filename": "semopy-1.0.11.tar.gz", "has_sig": false, "md5_digest": "30c5a6b352e42fe5cac465260413d3cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20455, "upload_time": "2018-10-29T22:46:52", "url": "https://files.pythonhosted.org/packages/2e/dc/1b0429a2d4016147c5c07d5c65d456b7431bac4ca63f878a83b3da5d73d8/semopy-1.0.11.tar.gz" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "eb02c831ee2d9827cfcd7b9748ce68c2", "sha256": "1115b6d4f19395085d502d3210ce5e876c8c9d484fde213f26d034a496eabe8e" }, "downloads": -1, "filename": "semopy-1.0.12.tar.gz", "has_sig": false, "md5_digest": "eb02c831ee2d9827cfcd7b9748ce68c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20517, "upload_time": "2018-10-30T08:09:31", "url": "https://files.pythonhosted.org/packages/a2/bd/9dc291b4f69d57a72f93eeef3fd82b89949439fc02aaa74ad8929d3ea2b6/semopy-1.0.12.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "85b5a97c39514a22ae0756224704c0e1", "sha256": "294153151a62d4c051f802c7912b2860d3d3a8596bc3e245bb20e9623f1ae508" }, "downloads": -1, "filename": "semopy-1.0.2.tar.gz", "has_sig": false, "md5_digest": "85b5a97c39514a22ae0756224704c0e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18693, "upload_time": "2018-07-27T09:34:30", "url": "https://files.pythonhosted.org/packages/ec/02/54b1676f423969f2f87668c79b0723e94de918557deb1e893bf19ad1b3ca/semopy-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "e6d18ade7734d920d71605776018ab27", "sha256": "fe9da9bf50699f9e02ef74bd5eada73198ed9cd57432297de4bc4f08369b1540" }, "downloads": -1, "filename": "semopy-1.0.3.tar.gz", "has_sig": false, "md5_digest": "e6d18ade7734d920d71605776018ab27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19449, "upload_time": "2018-08-06T09:58:52", "url": "https://files.pythonhosted.org/packages/e0/ce/c91a7dec1da9956cfccd00148368f6b8ae58a1b8ff5227bfdc0e510f024b/semopy-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "e40038b9f5deb2416446780c4c5001ff", "sha256": "5817da2d63c023706126f1dd220dc5640e68e273149b1a462e9f106e4bc788b3" }, "downloads": -1, "filename": "semopy-1.0.4.tar.gz", "has_sig": false, "md5_digest": "e40038b9f5deb2416446780c4c5001ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20138, "upload_time": "2018-10-02T20:07:56", "url": "https://files.pythonhosted.org/packages/1a/c8/f515456940c4122610089d58bf9eb4becae6e19fcf6cbc59333143611158/semopy-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "db0c9be3ad197ca996245e9fd9137a80", "sha256": "6ff164c809694752b749affbb9854088ea088a38f922c15d50c9781e3336590a" }, "downloads": -1, "filename": "semopy-1.0.5.tar.gz", "has_sig": false, "md5_digest": "db0c9be3ad197ca996245e9fd9137a80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20193, "upload_time": "2018-10-06T20:57:15", "url": "https://files.pythonhosted.org/packages/70/69/cd0ffd308139eef7548812770ebdf5ece6a54e8f77dbf5d2bd3cc3e9b813/semopy-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "58e5a3d2ebf213ce990fd5969bcf4070", "sha256": "6715df6e79e2c4ade5ca97d385edc862f3d7e16e8ebd966b6f01c7766f58c2e5" }, "downloads": -1, "filename": "semopy-1.0.6.tar.gz", "has_sig": false, "md5_digest": "58e5a3d2ebf213ce990fd5969bcf4070", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20174, "upload_time": "2018-10-06T21:12:21", "url": "https://files.pythonhosted.org/packages/90/28/047624d73ac8a1aa393e90ee901e4f04b79ffb704b13b564f7acfe8a565e/semopy-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "ee54bd4c2e85451f58c39481cbcd544b", "sha256": "fd817cb2572bd1333f9a53b8609851fe81736b19ba9d2dc4da0822fc2bff3c41" }, "downloads": -1, "filename": "semopy-1.0.7.tar.gz", "has_sig": false, "md5_digest": "ee54bd4c2e85451f58c39481cbcd544b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20173, "upload_time": "2018-10-07T03:17:07", "url": "https://files.pythonhosted.org/packages/6c/52/ffcba9bc025a9ffd5963e7af32bc0c1afbd971f3cbfa71092fe56ac2e26e/semopy-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "a651a35174bc0c407774cc29b7e20d15", "sha256": "cd76ab24ac9aeae9a649be1b9f33756310f2fa5a0059f66e226d8a2fc237e970" }, "downloads": -1, "filename": "semopy-1.0.8.tar.gz", "has_sig": false, "md5_digest": "a651a35174bc0c407774cc29b7e20d15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20250, "upload_time": "2018-10-10T21:42:48", "url": "https://files.pythonhosted.org/packages/9d/35/ecec7d5661fa33cbfafc16298b9968dcc563695738c9671fa54e5d4453ce/semopy-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "ce756c0173a9edbda7f03c27a7061f4c", "sha256": "a06fd9633d81e36f055b011ef4413bccaa78a844a399c690ff1758d159b2e4d0" }, "downloads": -1, "filename": "semopy-1.0.9.tar.gz", "has_sig": false, "md5_digest": "ce756c0173a9edbda7f03c27a7061f4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20448, "upload_time": "2018-10-29T21:41:26", "url": "https://files.pythonhosted.org/packages/68/1e/02e9222ae2ca5cba94d38cbb47e2620b26356ac16246e1edbea9346286d7/semopy-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "12436d2ed68228daed3c2f987de9acff", "sha256": "5b5f6137ae98dda5f085194239d909edac7527a9616ac03994449f553d87c38b" }, "downloads": -1, "filename": "semopy-1.1.0.tar.gz", "has_sig": false, "md5_digest": "12436d2ed68228daed3c2f987de9acff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24831, "upload_time": "2019-02-10T22:08:28", "url": "https://files.pythonhosted.org/packages/64/41/35012259cd18221ed24f4bc3aed76a3486f24fe673345344ac6a9fffb553/semopy-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "83a3f3b7370222077803afb5fa5923b7", "sha256": "3048adaabb08a9e98148b74ec2508007d36aeb6b9f799251f1d36faaa6f1f2c5" }, "downloads": -1, "filename": "semopy-1.1.1.tar.gz", "has_sig": false, "md5_digest": "83a3f3b7370222077803afb5fa5923b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26529, "upload_time": "2019-04-22T11:23:49", "url": "https://files.pythonhosted.org/packages/64/4c/b42d5e23becf4b26c6ffd0885b9471fbcb791d9d588906c0e8480dca3d73/semopy-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "8612a53e0323442b2777b9f2f70df34a", "sha256": "53493085d841914a5ab88922ac64c7b295964bd2f05d36e023771882d13a0e30" }, "downloads": -1, "filename": "semopy-1.1.2.tar.gz", "has_sig": false, "md5_digest": "8612a53e0323442b2777b9f2f70df34a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26532, "upload_time": "2019-04-23T18:54:32", "url": "https://files.pythonhosted.org/packages/43/8d/f6b7231e99bc5e686375cd58042c39efad4995b99b366e9f1c28dbd79e73/semopy-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "019cefaca845feb30f1591ad0f63c712", "sha256": "bd38c689e7ef6c1dc095e31c0ef9e34737efd036a00fd4992e76ec7a3cfef6d9" }, "downloads": -1, "filename": "semopy-1.1.3.tar.gz", "has_sig": false, "md5_digest": "019cefaca845feb30f1591ad0f63c712", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27307, "upload_time": "2019-05-01T14:51:26", "url": "https://files.pythonhosted.org/packages/77/69/b9490ea50856bccccea4913a5d71956defd72b291a37ba14ad0a3befcc54/semopy-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "78646847647527583a4ab1322be56871", "sha256": "8e9998ec6259b7d5ef0c317cbfcb85779590c3a2db02d3359499777fbf08b1ec" }, "downloads": -1, "filename": "semopy-1.1.4.tar.gz", "has_sig": false, "md5_digest": "78646847647527583a4ab1322be56871", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28631, "upload_time": "2019-05-19T12:53:48", "url": "https://files.pythonhosted.org/packages/73/81/e8eb5e37a47c14a00dcf2fb4d9feb3817ebc65fbe8240529843c863bc375/semopy-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "54526ba4bdb7be017958e45fd1b5ed36", "sha256": "e69e88569dff48e9434e914d90eefba3e850b00ffe145832be875ed2d9fbd1c2" }, "downloads": -1, "filename": "semopy-1.1.5.tar.gz", "has_sig": false, "md5_digest": "54526ba4bdb7be017958e45fd1b5ed36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28729, "upload_time": "2019-05-21T11:01:58", "url": "https://files.pythonhosted.org/packages/4f/be/debfba18befe841ef6545c86b55bea2bc2c0a95ebeb673241fc8e72ab024/semopy-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "b00e38658dfb6f34735f46ef7c8e563c", "sha256": "b8ebb535edabd68372caa1133d827527b5f88127ed1decfa425e612ac3631248" }, "downloads": -1, "filename": "semopy-1.1.6.tar.gz", "has_sig": false, "md5_digest": "b00e38658dfb6f34735f46ef7c8e563c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33221, "upload_time": "2019-05-22T15:09:04", "url": "https://files.pythonhosted.org/packages/68/33/7a07c44186cd2feb7ca3ebd044402a5e2cf5db58e470ffaf5d12c4237678/semopy-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "d0d44e72e05a4764cf48d6ae79c74b3e", "sha256": "f001225f2c087931ae7af109179faa991dd1d6015c119c9b2f415b7d4ea0189b" }, "downloads": -1, "filename": "semopy-1.1.7.tar.gz", "has_sig": false, "md5_digest": "d0d44e72e05a4764cf48d6ae79c74b3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33482, "upload_time": "2019-05-22T15:41:22", "url": "https://files.pythonhosted.org/packages/da/ee/fa26a3e16de4e389991bdea9a0c0b4772405d1e638c599824f1ad6db33ff/semopy-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "692fb968b3f166060d84fea7c516c733", "sha256": "9e53feba76847a80f4f8b347dd87c45d57e40a88ef7603bfe612167d7d17c0a5" }, "downloads": -1, "filename": "semopy-1.1.8.tar.gz", "has_sig": false, "md5_digest": "692fb968b3f166060d84fea7c516c733", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33494, "upload_time": "2019-05-22T15:45:38", "url": "https://files.pythonhosted.org/packages/3f/84/5408e752072ac6680db99de3259a007e5deafe639321e087785dd5d1756b/semopy-1.1.8.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "28706cc022fc4aa6a524d32a95605da2", "sha256": "30f32109ff5c78524117e4815ec7f7a173b5e2ba24ceef8094d7d4e3a48fbb5d" }, "downloads": -1, "filename": "semopy-1.2.0.tar.gz", "has_sig": false, "md5_digest": "28706cc022fc4aa6a524d32a95605da2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33709, "upload_time": "2019-06-11T07:46:54", "url": "https://files.pythonhosted.org/packages/f3/23/6a7c0595402013fe921325b21859714af0a52040285e4acaeeb5ebb9c8e9/semopy-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "3acfa49e47e2ec685326c8bffa74ecd9", "sha256": "ad776975b45b341e10df6ae7df2c24a85baee2610dfc6e9c5edddba11a07253d" }, "downloads": -1, "filename": "semopy-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3acfa49e47e2ec685326c8bffa74ecd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41837, "upload_time": "2019-07-12T01:14:49", "url": "https://files.pythonhosted.org/packages/4d/9b/7a6ba82ac6dc670193c618c8236e6d012a86b5a44df3f3db95c8b5ef56ca/semopy-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "326234cb3e3062ec2c66ad11c1ee2213", "sha256": "ba0a9d1745872c5ffbea6067aa9e9c6ca803b13f248918a0f1b5a6f749410c5a" }, "downloads": -1, "filename": "semopy-1.2.1.tar.gz", "has_sig": false, "md5_digest": "326234cb3e3062ec2c66ad11c1ee2213", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34334, "upload_time": "2019-07-12T01:14:51", "url": "https://files.pythonhosted.org/packages/24/ad/03b07a66430b39247c9eb6ea0c98328ef6e10caeaffb45b5fb4738f93f6b/semopy-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "eadc2e279a2e5059f10c99edfe91e4f1", "sha256": "719b0065eec689064c85cd5c4c4746c99f1d8f2c41dd166e48655c779cef76f1" }, "downloads": -1, "filename": "semopy-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "eadc2e279a2e5059f10c99edfe91e4f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41850, "upload_time": "2019-08-05T15:35:46", "url": "https://files.pythonhosted.org/packages/c0/18/b32fa7943ff1b9c4fabdd0d6169749498e5dc3c2d0770e212595e07119c9/semopy-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b560666f140f9339ed0b2dcaf5d68132", "sha256": "6c06778798bca7f3b3539948bb5eb3bf938b9987c0424bb969c6cc79fb8df888" }, "downloads": -1, "filename": "semopy-1.2.2.tar.gz", "has_sig": false, "md5_digest": "b560666f140f9339ed0b2dcaf5d68132", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34334, "upload_time": "2019-08-05T15:35:47", "url": "https://files.pythonhosted.org/packages/c2/a9/f1b30211a4746b142e9d4bad1eca5d12f8626f83e90e50441d6b38def7e0/semopy-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "539d17699b8c2e0eec5587594d3c1d81", "sha256": "0d9d8e68596c5b2b0a20aca365628b72b4af054a1619cbe98b07a5022eca5fc5" }, "downloads": -1, "filename": "semopy-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "539d17699b8c2e0eec5587594d3c1d81", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41723, "upload_time": "2019-08-05T16:48:36", "url": "https://files.pythonhosted.org/packages/7e/0b/1d7c46b48aa8e81313f3fb902219002ca4add0ad844a3500d7d270997ac1/semopy-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e0f811d144bd5d2d96c9e4522310fbd", "sha256": "7c0022573afd9c32b5ab01b16f1dc38545056d45ad5e39ac5572a6356f798c75" }, "downloads": -1, "filename": "semopy-1.2.3.tar.gz", "has_sig": false, "md5_digest": "8e0f811d144bd5d2d96c9e4522310fbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34205, "upload_time": "2019-08-05T16:48:39", "url": "https://files.pythonhosted.org/packages/2a/c9/67283698783b557df8673c3fe61cd259232b367fd1b2a20d722dfed68843/semopy-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "b36eda327e98622e31acdff7f3ee7be1", "sha256": "b6f3f1334c57f0337394ca5da4709b9f9bcdd943e374d31ab2316e053aa68b4f" }, "downloads": -1, "filename": "semopy-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "b36eda327e98622e31acdff7f3ee7be1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41721, "upload_time": "2019-08-06T00:26:51", "url": "https://files.pythonhosted.org/packages/9f/68/b86668c6f1912589d472a02e784a063a8e015ec17acb41ee21601c17b345/semopy-1.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6ed3218b7428d1578530ce190364d43", "sha256": "5a73f56d4a731e891345ede2e6765c692f450f98a7d515320c4ae9361d2ec760" }, "downloads": -1, "filename": "semopy-1.2.4.tar.gz", "has_sig": false, "md5_digest": "d6ed3218b7428d1578530ce190364d43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34215, "upload_time": "2019-08-06T00:26:53", "url": "https://files.pythonhosted.org/packages/27/db/2eb3aa5c3775089ea51853fcd588ca991355bd2a21173196663c821947c8/semopy-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "a76492af34512ff48b839438107eadfd", "sha256": "a03a58afd5ea1c5f22f838b9b47bfdbdf952bdb07c8b45b09e5156299e5e9dac" }, "downloads": -1, "filename": "semopy-1.2.5.tar.gz", "has_sig": false, "md5_digest": "a76492af34512ff48b839438107eadfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37576, "upload_time": "2019-08-27T09:14:20", "url": "https://files.pythonhosted.org/packages/dc/e0/aa2bb38a59cee2f22e68300528fa494d4026aa668949db799af73651d2b4/semopy-1.2.5.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "c974281558a3be7b2a2b415d85301848", "sha256": "7bb04baa6e51b5bbdbd1e7301bf2dc237fce0fa054de4717f4b44860648d1bd6" }, "downloads": -1, "filename": "semopy-1.3.0.tar.gz", "has_sig": false, "md5_digest": "c974281558a3be7b2a2b415d85301848", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35979, "upload_time": "2019-08-30T01:31:48", "url": "https://files.pythonhosted.org/packages/db/51/5ac1b1450f92b4b021fb5a0337a1e1ae61292811ae7e2c4d4f3d70573188/semopy-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "87ecbd28cbe4bf5cf62c0f47de2dc1b0", "sha256": "9e58a55cf658d8efb4797e2be73c4817e415ec671f055df47338adaa13ea08e1" }, "downloads": -1, "filename": "semopy-1.3.1.tar.gz", "has_sig": false, "md5_digest": "87ecbd28cbe4bf5cf62c0f47de2dc1b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35987, "upload_time": "2019-08-30T11:41:32", "url": "https://files.pythonhosted.org/packages/81/d5/95d29e71849ae8c095b1ab939d86a350c54bace0d54ad7c9fde682bc790e/semopy-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "db551e965cc324ccf85588027fd803db", "sha256": "fd990a47546b193b392db35ccb7e60b89305c9cf677ee3d62acda4bb1a6fd0a5" }, "downloads": -1, "filename": "semopy-1.3.2.tar.gz", "has_sig": false, "md5_digest": "db551e965cc324ccf85588027fd803db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36074, "upload_time": "2019-08-30T13:44:12", "url": "https://files.pythonhosted.org/packages/7e/9f/1fc59d731ef8895df5426338312de1137801603ed4cc2328607d92f82e3c/semopy-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "5d5d0f3e86bb2360272de5a45857061b", "sha256": "9089a53d9f39dbb74f3aa8acb9092695d38dbf4a3f722251244cdf358db827c3" }, "downloads": -1, "filename": "semopy-1.3.3.tar.gz", "has_sig": false, "md5_digest": "5d5d0f3e86bb2360272de5a45857061b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36411, "upload_time": "2019-08-30T18:17:02", "url": "https://files.pythonhosted.org/packages/81/7f/1d80ef99c7d9f40130181ca4f06c659cbcf0c7a3f8d943807ed112eeeb49/semopy-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "4d571116c1384a42d4a27501a70cea11", "sha256": "05a7a0d764bab2818e4f624346f93960df18c6dc7adaca9f0df3f6e574352cb2" }, "downloads": -1, "filename": "semopy-1.3.4.tar.gz", "has_sig": false, "md5_digest": "4d571116c1384a42d4a27501a70cea11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36422, "upload_time": "2019-08-30T20:19:19", "url": "https://files.pythonhosted.org/packages/97/e7/fef6ed3fad37b0b438c56383d1eab5d6f1142c6ce933f16dd0c99b6a3165/semopy-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "aa44dd083891041a9e58f641d47126de", "sha256": "452e7721860a69a95504840441d3f08522361efd52ad136ba2fe82b6251f8078" }, "downloads": -1, "filename": "semopy-1.3.5.tar.gz", "has_sig": false, "md5_digest": "aa44dd083891041a9e58f641d47126de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36514, "upload_time": "2019-09-01T04:48:10", "url": "https://files.pythonhosted.org/packages/7e/c7/918bc5a65e8d904b757491723631642532b9edf39ced54e707036884da8a/semopy-1.3.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aa44dd083891041a9e58f641d47126de", "sha256": "452e7721860a69a95504840441d3f08522361efd52ad136ba2fe82b6251f8078" }, "downloads": -1, "filename": "semopy-1.3.5.tar.gz", "has_sig": false, "md5_digest": "aa44dd083891041a9e58f641d47126de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36514, "upload_time": "2019-09-01T04:48:10", "url": "https://files.pythonhosted.org/packages/7e/c7/918bc5a65e8d904b757491723631642532b9edf39ced54e707036884da8a/semopy-1.3.5.tar.gz" } ] }