Skip to content

Commit

Permalink
Merge pull request #19 from manumerous/prepare-to-publish
Browse files Browse the repository at this point in the history
Prepare to publish on Pypi
  • Loading branch information
manumerous authored Sep 17, 2023
2 parents e6508d3 + 8d0dc38 commit a63608e
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 19 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
__pycache__/
/*.csv
build/
*.egg-info/
*.egg-info/
dist/
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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
Expand Down
33 changes: 22 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -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 = [
Expand All @@ -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"
repository = "https://github.com/manumerous/vpselector"
2 changes: 1 addition & 1 deletion src/vpselector/windows/main_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down

0 comments on commit a63608e

Please sign in to comment.