diff --git a/.gitignore b/.gitignore index 4839ea5..36dcf3d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ __pycache__/ /*.csv build/ -*.egg-info/ \ No newline at end of file +*.egg-info/ +dist/ \ No newline at end of file diff --git a/README.md b/README.md index 4893671..54f1d62 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,7 @@ The Visual Pandas Selector is a tool to visually select portions of numeric time-series data from a pandas dataframe. The tool is intended to provide an fast interactive way for manual data selection, as can be very useful in for example machine learning, regression or system identification. -The tool is configurable in order to plot a range of dataframe columns in vertically stacked subplots. -Hereby the user can specify which columns are plotted in which subplot. Furthermore, a histogram is included to get a rough idea on the distribution of the data. +Easily configure the tool to plot dataframe columns in vertically stacked subplots and view data distributions with the included histogram feature. With a simple click and drag, you can then select horizontal data windows, and let the tool automatically combine them into a new dataframe. The user can subsequentially select different horizontal data windows via click and drag and he tool then automatically combines the visually selected sections into a new dataframe. @@ -12,19 +11,19 @@ The user can subsequentially select different horizontal data windows via click ## Install -I am still working on publishing the project on PyPi (any help is apprechiated here). For now you can install the package locally from the top-level project folder using: +Install the package using: ```bash -pip install . +pip install vpselector ``` ## Use in your project Then simply import it using `import vpselector`. Then simply use: -- If your project does not contain a pyqt application: `select_visual_data(data : pd.DataFrame, plot_config : dict)` +- If your project does not contain a pyqt application: `vpselector.select_visual_data(data : pd.DataFrame, plot_config : dict)` -- To add the vpselector to an existing pyqt application: `select_visual_data_in_pyqt_app(data : pd.DataFrame, plot_config : dict, pyqt_app)` +- To add the vpselector to an existing pyqt application: `vpselector.select_visual_data_in_pyqt_app(data : pd.DataFrame, plot_config : dict, pyqt_app)` ## Run the Example diff --git a/pyproject.toml b/pyproject.toml index b3c08dc..4d7c533 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,21 +1,33 @@ [project] name = "vpselector" -version = "0.1.0" +version = "1.0.0" description = "Visualize and interactively select time-series data from a pandas DataFrame." readme = "README.md" requires-python = ">=3.8" -license = {file = "LICENSE.txt"} -keywords = ["python", "dataframe", "pandas", "visualization", "data selection", "time-series data", "data tools", "data science", "data-driven engineering", "machine learning", "system identification"] +license = { file = "LICENSE.txt" } +keywords = [ + "python", + "dataframe", + "pandas", + "visualization", + "data selection", + "time-series data", + "data tools", + "data science", + "data-driven engineering", + "machine learning", + "system identification", +] authors = [ - {email = "manuel.galliker@gmx.ch"}, - {name = "Manuel Yves Galliker"} + { email = "manuel@galliker.tech" }, + { name = "Manuel Yves Galliker" }, ] maintainers = [ - {name = "Manuel Yves Galliker", email = "manuel.galliker@gmx.ch"} + { name = "Manuel Yves Galliker", email = "manuel@galliker.tech" }, ] classifiers = [ "Development Status :: 4 - Beta", - "Programming Language :: Python" + "Programming Language :: Python", ] dependencies = [ @@ -24,12 +36,11 @@ dependencies = [ "matplotlib>=3.7.1", "seaborn>=0.11.1", "overrides>=7.3.1", + "twine>=4.0.2", ] [project.optional-dependencies] -format = [ - "black >= 23.3.0" -] +format = ["black >= 23.3.0"] [project.urls] -repository = "https://github.com/manumerous/vpselector" \ No newline at end of file +repository = "https://github.com/manumerous/vpselector" diff --git a/src/vpselector/windows/main_window.py b/src/vpselector/windows/main_window.py index dd2f441..0900536 100644 --- a/src/vpselector/windows/main_window.py +++ b/src/vpselector/windows/main_window.py @@ -21,7 +21,7 @@ class MainWindow(QtWidgets.QMainWindow): def __init__(self, data : pd.DataFrame , plot_config : dict, *args, **kwargs): super(MainWindow, self).__init__(*args, **kwargs) - self.setWindowTitle("Visual Dataframe Selector") + self.setWindowTitle("Visual Pandas Selector") self.data = data self.cropped_data = pd.DataFrame()