Commit ecceb515 authored by LammLukas's avatar LammLukas

Started packaging

parent 3f80b31f
# Temporary directories and files
src/__pycache__/*
miraculix/__pycache__/*
# IntelliSense of Pycharm
.idea/
......
Metadata-Version: 2.1
Name: Miraculix
Version: 0.1.0
Summary: A handy tool for examination processes
Home-page: UNKNOWN
Author: Lukas Lamm
Author-email: lukas.lamm@ifam.rwth-aachen.de
License: LICENSE.md
Description: # Miraculix
A library for all your examination processes at RWTH Aachen University.
You can use this library to write your own Python scripts. With this, you can automate tasks such as:
* Creating examination protocols for written exams
* Automated room assignment for participants
* Exporting easy to use .csv files for the use in Microsoft Excel
* Automated evaluation and assignment of grades
* Native import and export to RWTHOnline
## Getting started
Miraculix is build in Python 3.x and relies on some external packages.
Fortunately, you only need to have Python 3.x installed, since all important
dependencies are included within an virtual environment. If you do not want to
us the virtual environment, you can install the following dependencies manually:
* sqlite3
* docxtpl
This can be done using pip.
### Install Python 3.x
#### Linux
Usually, Python 3.x is already included within the standard installation of linux.
If not, you can get it by using
```
sudo apt-get install python3
```
#### Windows
To install Python 3.x on Windows machines, please go to [Python.org](https://www.python.org/downloads/windows/)
and download the Windows installation file for the latest release. The installation client will guide you through
the installation process.
## Documentation
You can find the documentation to this software within the Gitlab-Wiki.
## First Steps
If you want to write your own simple scripts to manage your examination process,
you can find a simple example in the examples directory of this project. This example
is well documented and will guide you through the main stages of your examination
process. These are e.g.
* Creating and saving a new exam
* Importing data from RWTHOnline
* Evaluating the examination
* Exporting final grades to RWTHOnline
* ...
## For Developers
### Running test
Unfortunately, there haven't been implemented any tests until now.
## Authors
* **Lukas Lamm** - [Institute of Applied Mechanics, RWTH Aachen University](http://www.ifam.rwth-aachen.de/aw/cms/IFAM/Themen/mitarbeiter/~wmw/lamm-lukas/?lang=de)
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
README.md
examples
setup.py
Miraculix.egg-info/PKG-INFO
Miraculix.egg-info/SOURCES.txt
Miraculix.egg-info/dependency_links.txt
Miraculix.egg-info/requires.txt
Miraculix.egg-info/top_level.txt
miraculix/__init__.py
miraculix/evaluator.py
miraculix/exam.py
miraculix/exceptions.py
miraculix/exportable.py
miraculix/participant.py
miraculix/protocols.py
miraculix/room.py
miraculix/utils.py
\ No newline at end of file
......@@ -11,8 +11,8 @@ Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
1. Import all necessary packages
"""
from src.exam import Exam
from src.protocols import Protocol
from miraculix.exam import Exam
from miraculix.protocols import Protocol
"""
2. Create a new exam object
......
......@@ -10,8 +10,8 @@ Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
1. Import all necessary packages
"""
from src.exam import Exam
from src.evaluator import Evaluator
from miraculix.exam import Exam
from miraculix.evaluator import Evaluator
"""
2. Load examination from file and import ratings
......
......@@ -3,8 +3,8 @@ Script to generate random user data in RWTHOnline .csv format
Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
from src.participant import Participant
from src.utils import write_csv
from miraculix.participant import Participant
from miraculix.utils import write_csv
"""Generate list of participants"""
participant_list = Participant.generate_random_participant_list(50)
......
......@@ -4,7 +4,7 @@ Class for evaluator objects
Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
import math
from src.exceptions import *
from miraculix.exceptions import *
class Evaluator:
......
......@@ -3,11 +3,11 @@ Class for exam objects
Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
from src.utils import read_csv, write_csv, get_index_csv_data
from src.exceptions import *
from src.exportable import Exportable
from src.room import Room
from src.participant import Participant
from miraculix.utils import read_csv, write_csv, get_index_csv_data
from miraculix.exceptions import *
from miraculix.exportable import Exportable
from miraculix.room import Room
from miraculix.participant import Participant
import re
......
......@@ -3,7 +3,7 @@ Parent class for participant objects.
Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
from src.exportable import Exportable
from miraculix.exportable import Exportable
from randomuser import RandomUser
from random import randint
......
......@@ -3,7 +3,7 @@ Class for protocol objects
Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
from src.exceptions import *
from miraculix.exceptions import *
from docxtpl import DocxTemplate
import os
import re
......
......@@ -3,12 +3,11 @@ Class for room objects.
Author: L. Lamm (lamm@ifam.rwth-aachen.de)
"""
from src.exportable import Exportable
from src.exceptions import *
from src.utils import *
from miraculix.exportable import Exportable
from miraculix.exceptions import *
from miraculix.utils import *
import sqlite3
import os
import re
class Room(Exportable):
......
import setuptools
with open("README.md", "r") as file:
long_description = file.read()
setuptools.setup(
name='Miraculix',
version='0.1.0',
author='Lukas Lamm',
author_email='lukas.lamm@ifam.rwth-aachen.de',
packages=setuptools.find_packages(),
scripts=['examples'],
url='',
license='LICENSE.md',
description='A handy tool for examination processes',
long_description=long_description,
long_description_content_type="text/markdown",
install_requires=[
"randomuser",
"docxtpl",
"sqlite3",
],
python_requires='>=3.6',
classifiers=[
"Programming Language :: Python :: 3",
"License :: MIT License",
"Operating System :: OS Independent",
],
)
\ No newline at end of file
Copyright 2007 Pallets
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Metadata-Version: 2.1
Name: Jinja2
Version: 2.11.1
Summary: A very fast and expressive template engine.
Home-page: https://palletsprojects.com/p/jinja/
Author: Armin Ronacher
Author-email: armin.ronacher@active-4.com
Maintainer: Pallets
Maintainer-email: contact@palletsprojects.com
License: BSD-3-Clause
Project-URL: Documentation, https://jinja.palletsprojects.com/
Project-URL: Code, https://github.com/pallets/jinja
Project-URL: Issue tracker, https://github.com/pallets/jinja/issues
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy