diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..85761ad29c950c3fa54a5a9a486baaddf7fa5ec4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +.eggs + +###################### +# Logs and databases # +###################### +*\.log +.DS_Store + +######################### +# Eclipse metadata_path # +######################### +\.project +\.pydevproject +\.settings/ + +############# +# vim files # +############# +*\.swp +*~ +\#*\# + +################# +# pycharm files # +################# +\.idea + +################# +# visual studio # +################# +\.vscode/ + +############################### +# jupyter notebook checkpoint # +############################### +\.ipynb_checkpoints/ + +########################## +# Python complied source # +########################## +*\.pyc +*\.pyo +build/ +dist/ +doc/_build/ diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..3b08a7bf7f5d5939f407a3ee48d1dac10cf20d1d --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +<!--- + +[](http://track-analyzer.pages.pasteur.fr/track-analyzer) +[](https://opensource.org/licenses/GPL-3.0) +[](https://pypi.org/project/track-analyzer/) + + +--> + + +# Manipylator +A Python-driven manipulator controller + +**Manipylator** is Python-based controller used to run a motorized manipulator through a user-friendly graphical interface. +This package offers several mechanical assays to physically manipulate a sample. +In particular, **Manipylator** provides in real time controller to exert controlled forces through a cantilever-based force sensor and actuator. + +**Manipylator** currently supports PI ([Physik Instrumente](https://www.physikinstrumente.com/en/)) motorized stages to drive the manipulator. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b8357caeddc4c116596f26610aaeca6e9039596 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,14 @@ +ipyfilechooser +ipywidgets +jupyter +numpy +pandas +matplotlib +scikit-image +seaborn +pipython +scipy +lmfit +simple_pid +multiprocessing +joblib \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..44f3022a8149a7ca437e0e73abef4baa5e636d90 --- /dev/null +++ b/setup.py @@ -0,0 +1,61 @@ +########################################################################## +# Manipylator - a Python-driven manipulator controller # +# Authors: Arthur Michaut # +# Copyright 2020-2022 Institut Pasteur and CNRS–UMR3738 # +# See the COPYRIGHT file for details # +# # +# This file is part of manipylator package. # +# # +# Manipylator is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# Manipylator is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details . # +# # +# You should have received a copy of the GNU General Public License # +# along with Manipylator (COPYING). # +# If not, see <https://www.gnu.org/licenses/>. # +########################################################################## + + +from setuptools import setup, find_packages + +from test_package import __version__ as tra_vers + +setup(name='manipylator', + version=tra_vers, + description="a Python-driven manipulator controller", + long_description=open('README.md').read(), + long_description_content_type="text/markdown", + author="Arthur Michaut", + author_email="arthur.michaut@gmail.com", + url="", + download_url="", + license="GPLv3", + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Environment :: Console', + 'Operating System :: POSIX', + 'Operating System :: Microsoft :: Windows', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Intended Audience :: Science/Research', + 'Topic :: Scientific/Engineering :: Bio-Informatics', + ], + python_requires='>=3.6', + install_requires=[i for i in [l.strip() for l in open("requirements.txt").read().split('\n')] if i], + # zip_safe=False, + packages=[p for p in find_packages() if p != 'tests'], + # file where some variables must be fixed by install + entry_points={ + 'console_scripts': [ + ] + } + ) +