# bapsf_motion
[![Documentation Status](https://readthedocs.org/projects/bapsf-motion/badge/?version=latest)](https://bapsf-motion.readthedocs.io/en/latest/?badge=latest)
``bapsf_motion`` is a module developed for the
[Basic Plasma Facility (BaPSF)](https://plasma.physics.ucla.edu/) at the
University of California, Los Angeles to integrate with its DAQ system
and control motion devices, such as probe drives.
## GUI Development
This package uses ``PySide6`` to develop its GUI interface. In attempts
to keep the code pythonic, we are using the feature
[`from __feature__ import snake_case`](https://doc.qt.io/qtforpython/feature-why.html).
This will allow us to write code like `QMainWindow.set_window_title()`
instead of `QMainWindow.setWindowTitle()`. To get a module set up the
`__feature__` import must occur after the first `PySide6` import, for
example:
```python
from PySide6.QtWidgets import QMainWindow
from __feature__ import snake_case # noqa
```
Note the `# noqa`, this is needed to prevent linters and code inspection
from complaining about the import order.
When this is first implement your linters and code inspection will
likely complain with unresolved instances. This is because the
[Python stub files](https://peps.python.org/pep-0484/#stub-files)
(i.e. ``.pyi`` files) were generated without this feature enabled. To
update your stub files follow the procedure below:
1. Determine where `PySide6` is installed. This can be done by
executing `python -m pip show pyside6` in the command prompt. This
show be the `site-packages` directory for you Python distribution.
2. Navigate to the directory indicated by step 1.
3. Navigate into the `PySide6/` directory.
4. Now execute the following command in your command prompt:
```bash
pyside6-genpyi all --feature snake_case
```
This will update all the stub files accordingly, and should only take
a few seconds.
Raw data
{
"_id": null,
"home_page": null,
"name": "bapsf-motion",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "plasma physics, plasma, science, bapsf, motion",
"author": "Basic Plasma Science Facility",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/b4/66/3f0d61c4c4891828a28ccc1ec4891da9d2ac22dee8ac22f08373f64b70f8/bapsf_motion-0.2.0b14.tar.gz",
"platform": null,
"description": "# bapsf_motion\n\n[![Documentation Status](https://readthedocs.org/projects/bapsf-motion/badge/?version=latest)](https://bapsf-motion.readthedocs.io/en/latest/?badge=latest)\n\n``bapsf_motion`` is a module developed for the \n[Basic Plasma Facility (BaPSF)](https://plasma.physics.ucla.edu/) at the\nUniversity of California, Los Angeles to integrate with its DAQ system\nand control motion devices, such as probe drives.\n\n## GUI Development\n\nThis package uses ``PySide6`` to develop its GUI interface. In attempts\nto keep the code pythonic, we are using the feature\n[`from __feature__ import snake_case`](https://doc.qt.io/qtforpython/feature-why.html).\nThis will allow us to write code like `QMainWindow.set_window_title()`\ninstead of `QMainWindow.setWindowTitle()`. To get a module set up the \n`__feature__` import must occur after the first `PySide6` import, for\nexample:\n\n```python\nfrom PySide6.QtWidgets import QMainWindow\n\nfrom __feature__ import snake_case # noqa\n```\n\nNote the `# noqa`, this is needed to prevent linters and code inspection\nfrom complaining about the import order.\n\nWhen this is first implement your linters and code inspection will\nlikely complain with unresolved instances. This is because the\n[Python stub files](https://peps.python.org/pep-0484/#stub-files)\n(i.e. ``.pyi`` files) were generated without this feature enabled. To\nupdate your stub files follow the procedure below:\n\n1. Determine where `PySide6` is installed. This can be done by \n executing `python -m pip show pyside6` in the command prompt. This\n show be the `site-packages` directory for you Python distribution.\n2. Navigate to the directory indicated by step 1.\n3. Navigate into the `PySide6/` directory.\n4. Now execute the following command in your command prompt:\n\n ```bash\n pyside6-genpyi all --feature snake_case\n ```\n \n This will update all the stub files accordingly, and should only take\n a few seconds.\n",
"bugtrack_url": null,
"license": null,
"summary": "Package for controlling motion devices in a BaPSF DAQ system",
"version": "0.2.0b14",
"project_urls": null,
"split_keywords": [
"plasma physics",
" plasma",
" science",
" bapsf",
" motion"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a3b3bea19ba99e4e8fe1a3182cb1a0c668447a42283ad3a4f85a32a81834ead9",
"md5": "f9643d8a52b6026f8197ab15ebc1e643",
"sha256": "8f1037df44991b5002edda0f4647381f20cfc25ccc1181379ca348c4cf312b72"
},
"downloads": -1,
"filename": "bapsf_motion-0.2.0b14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f9643d8a52b6026f8197ab15ebc1e643",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 136441,
"upload_time": "2024-10-22T01:32:24",
"upload_time_iso_8601": "2024-10-22T01:32:24.225284Z",
"url": "https://files.pythonhosted.org/packages/a3/b3/bea19ba99e4e8fe1a3182cb1a0c668447a42283ad3a4f85a32a81834ead9/bapsf_motion-0.2.0b14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4663f0d61c4c4891828a28ccc1ec4891da9d2ac22dee8ac22f08373f64b70f8",
"md5": "5c02c8fe7661c4b6c36766ceb0a3efa5",
"sha256": "1009f4d899122bf8550abefbc24a1d3d27f92c967dc4ea91cc4f660f2990feeb"
},
"downloads": -1,
"filename": "bapsf_motion-0.2.0b14.tar.gz",
"has_sig": false,
"md5_digest": "5c02c8fe7661c4b6c36766ceb0a3efa5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 850002,
"upload_time": "2024-10-22T01:32:26",
"upload_time_iso_8601": "2024-10-22T01:32:26.338517Z",
"url": "https://files.pythonhosted.org/packages/b4/66/3f0d61c4c4891828a28ccc1ec4891da9d2ac22dee8ac22f08373f64b70f8/bapsf_motion-0.2.0b14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-22 01:32:26",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "bapsf-motion"
}