Skip to main content

An app for physics competitions in teams and their analysis

Project description

Physicscore

README

Installation

To install the app using pip:

  1. pip install Physicscore

To install the app from github:

  1. Clone the source code using git: git clone AsrtoMichi/Physicscore
  2. Navigate to the directory: cd Physicscore
  3. Install the package using: pip install .

Physicscore

Physicscore is an application designed to simulate physics team competitions. This tool is particularly useful for organizing and managing competitions in the style of the Physics Championships. You can find more information about the Physics Championships by visiting their official website.

How to Use

  1. Modify the JSON configuration file according to your needs.
  2. Launch the Physicscore application with the command physicscore and select the .json file.
  3. Submit answers and joker actions using the Receiver window.
  4. Save data in a .json file.
  5. Generate graphs to visualize the competition data and team performance.

Commands and Shortcuts

  • Enter: To submit an answer.
  • Shift + Enter: To use a joker.

Graph Generation

ReportGenerator is a script useful for generating a detailed report about the competition.

How to Use

  1. Modify the JSON configuration file according to your needs.
  2. Launch the application with the command reportgen.
  3. Select the .json file and save the report in a .html file.
  4. Open the .html file using a browser or another tool.

Configure the .json file

Physicscore uses a JSON file to configure the competitions, teams, parameters, and generate graphs. Below is an example of a configuration JSON file:

{
    "Name": "Test",

    "Teams": [["Charlie", 100], "David", "Eric"],
    "Teams_ghost": ["Ada"],

    "Teams_format": ["Name", ["Name", "Handicap as int value"]],

    "Timers": {
        "time": 1,
        "time_for_jolly": 10,
        "time_format": "use min"
    },
    
    "Parameters": {
        "Bp": 20,
        "Dp": 80,
        "E": 10,
        "A": 20,
        "h": 3
    },

    "Solutions": [
        [1.0, 1.0],
        [2.0, 1.0],
        [3.0, 1.0],
        [4.0, 1.0]
    ],

    "Solution_format": ["answer", "relative error"],

    "Actions": {
        "teams": ["Ada", "Bob"],
        
        "jokers": [
            ["Ada", 1, 10],
            ["Bob", 2, 30]
        ],

        "jolly_format": ["team", "question", "time in seconds"],

        "answers": [
            ["Ada", 1, 1.0, 20],
            ["Bob", 3, 3.0, 15],
            ["Ada", 2, 2.0, 40]
        ],

        "answer_format": ["team", "question", "answer", "time in seconds"]
    }
}

JSON File Explanation

  • Name: Specifies the name of the competition.
  • Teams: List of participating teams with their handicap (can be omitted if equal to 0, e.g., [name_team, handicap]).
  • Teams_ghost: Ghost teams participating in the competition.
  • Timers: Configure the competition time and the time for jokers.
  • Parameters: Competition parameters using Python notation.
  • Solutions: Expected solutions for the questions.
  • Actions:
    • teams: List of teams that take actions.
    • jokers: Details of joker actions (team, question number, time in seconds).
    • answers: Answers provided by teams (team, question number, answer, time in seconds).

Acknowledgments

I would like to thank the following people for their contributions:

  • Alessandro Chiozza: for help with data structures.
  • Federico Micelli: for their specific contribution.
  • Giorgio Sorgente: for help with tkinter library.
  • Gabriele Trisolino: for all the ideas on how to improve the program.

License

This project is licensed under the GPL3 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

physicscore-0.2.1.0.tar.gz (63.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

physicscore-0.2.1.0-py3-none-any.whl (65.9 kB view details)

Uploaded Python 3

File details

Details for the file physicscore-0.2.1.0.tar.gz.

File metadata

  • Download URL: physicscore-0.2.1.0.tar.gz
  • Upload date:
  • Size: 63.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for physicscore-0.2.1.0.tar.gz
Algorithm Hash digest
SHA256 c14062ab0cd228e60f49e10267e1595b51a20fa21f2121efc0d597224cbe88b3
MD5 b6a9502d06d5a7156ad2dd6f2dd356de
BLAKE2b-256 a3220c0b4ec834fca14cec01a0fb2446cf775f75536bb14536413c1bfaccb6ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for physicscore-0.2.1.0.tar.gz:

Publisher: python-publish.yml on AsrtoMichi/Physicscore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file physicscore-0.2.1.0-py3-none-any.whl.

File metadata

  • Download URL: physicscore-0.2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 65.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for physicscore-0.2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 baad029fe9b49f3cd103f5f34c31f9595c4ad69f8d85d2239153aff069137947
MD5 6fb72efcadfe1a2eee6e9092f3af8e66
BLAKE2b-256 a6e1fbde8d6090aef1c49bce58fcb0cdde75f883caeef56295152f0ed386d8ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for physicscore-0.2.1.0-py3-none-any.whl:

Publisher: python-publish.yml on AsrtoMichi/Physicscore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page