This is a customization analysis system that supports multiple data formats (JSON, XML, CSV) and has the capability to be configured and used across multiple domains.
Project description
Python Package Performance Analysis System
This is a customization analysis system that supports multiple data formats (JSON, XML, CSV) and has the capability to be configured and used across multiple domains.
Description
The Performance Analysis System is a versatile project developed by students in the Master of Data Science Program at UBC-O. It extract data from various sources including CSV, JSON, and XML files, to generate meaningful statistical metrics and plots. This system aims to assist customers from different fields in visualize performance.
The configuration in the system allows user to input their needs. The system fetches the data from the configured data source and process it accordingly to visualize and extract information if required. The visualization part include a table with basic statiscical metrics (mean, median, mode, count, min and max), bar plot, line chart, scatter plot, and box plot. Users can choose to display the results either on the terminal or export the analysis.
Package structure
- main/
- data_processor/
configuration.pyentity.pyperformanceanalyzer.py
- data_transformer/
data_manager_factory.pyabstract_parser.pytransformer-csv_parser.pyxml_parser.pyjson_parser.pycustom_exception.py
- data_processor/
package-main: The main package facilitates the entire setup process, such as retrieving the configuration and prompting the user to choose the information to compute and/or visualize.subpackage1-\main\data_processor: The main package facilitates the entire setup process, such as retrieving the configuration and prompting the user to choose the information to compute and/or visualize.subpackage1-module1 \main\data_processor\configuration.py: This module provides a structured and modular approach to handling data. It ensures that the necessary configuration is in place before performing data operations.subpackage1-module2 \main\data_processor\entity.py: This module processes entities and collections (e.g. student-students, employee-employees, etc.).subpackage1-module3 \main\data_processor\performanceanalyzer.py: This module generates a summary of basic statistical metrics for the data from the entity collection. It also facilitates the creation of appropriate plots.subpackage2-\main\data_trasformer: This main function of this sub-package is to co-ordinate and control data parsing and data transformation from user data type to Entity Collection type.subpackage2-module1 \main\data_trasformer\data_manager_factory.py: It helps to invoke the respective parser depending on the data type of the input configuration.subpackage2-module2 \main\data_trasformer\abstract_parser.py: This class serves as a parent class which is inherited by all the other parsers classes. It helps to parse and evaluate expression in configuraion.subpackage2-module3 \main\data_trasformer\csv_parser.py: This class is responsible for parsing CSV data into Entity Collection.subpackage2-module4 \main\data_trasformer\xml_parser.py: This class is responsible for parsing XML data into Entity Collection.subpackage2-module4 \main\data_trasformer\json_parser.py: This class is responsible for parsing JSON data into Entity Collection.
How to use the package
- Download the package and store in your working repository.
https://pypi.org/project/PerformanceAnalyzerSystem/
-
If you want to create a configuration file you can follow step 3. If not the system creates a configuration file on behalf of you. So you can directly go to step 4.
-
In your current working directory create a JSON file with name
config.json.Sample Config data:
{
"data_type": "JSON",
"entity_collection": "students",
"base_field": "name",
"computable_fields": ["science", "english", "science+english As total"],
"path": "C://Users//yourData.json"
}
Description from the fields within the config.json:
-
data_type: This property denotes what type of data source file you have.
-
entity_collection: This property denotes the sample data collection name that is present in data file (e.g. Students, Employees, Players, etc.).
-
base_field: This is the field that can be considered the X-axis for creating the plots in the visualization (e.g. ID, name, key, etc.).
-
computable_fields: These are the operational fields on which caulations can be computed. As of now, we support only +, -, /, * with 2 variables.
-
path: The data source path.
-
Once the package is installed, import the package in your code to run the PerformanceAnalyzer. The main package name is "main" and initial process starts. So you can use below code to run the package.
import main
-
If you have not filled the configuration file, then system will prompt you to enter the configuration data.
-
After processing the data, you can choose to display the analysis of your data or export it.
-
Sample Data (in case you want for testing):
{"students": [
{
"name": "John Doe",
"english": 90,
"science": 85
},
{
"name": "Jane Smith",
"english": 95,
"science": 92
},
{
"name": "Bob Johnson",
"english": 88,
"science": 78
},
{
"name": "Karl",
"english": 92,
"science": 94
}
]
}
Authors
- Karthiga Sethu Sethuramalingam
- Nayeli Montiel Rodríguez
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file PerformanceAnalyzerSystem-0.0.1.tar.gz.
File metadata
- Download URL: PerformanceAnalyzerSystem-0.0.1.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d1f863025c1434b96df044fec349b14e4cb9378e2643c210fd1c6bd99a1e73e
|
|
| MD5 |
c0dbae7c358fc5119178bbac005460f8
|
|
| BLAKE2b-256 |
39f684c5cce7387cd437b35413541df7e3101cd11363045678f182a141d2643d
|
File details
Details for the file PerformanceAnalyzerSystem-0.0.1-py3-none-any.whl.
File metadata
- Download URL: PerformanceAnalyzerSystem-0.0.1-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
782df72336e364ebf8ef238234553925aaee145d94a56a60e09355282cfbadd3
|
|
| MD5 |
428fd7d4243ca0f1783c46d7689e7565
|
|
| BLAKE2b-256 |
da25aa252653079e3764156e0874819cf664e664790e00a0c59616448df658c5
|