Prest

Prest: Open-Source Software for Computational Revealed Preference Analysis - Published in JOSS (2018)

https://github.com/prestsoftware/prest

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
    2 of 5 committers (40.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software
Last synced: 6 months ago · JSON representation

Repository

Revealed preference analysis and preference estimation from choice datasets

Basic Info
  • Host: GitHub
  • Owner: prestsoftware
  • License: other
  • Language: Rust
  • Default Branch: master
  • Homepage: https://prestsoftware.com
  • Size: 3.45 MB
Statistics
  • Stars: 15
  • Watchers: 2
  • Forks: 4
  • Open Issues: 0
  • Releases: 2
Created over 7 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog Contributing License

README.md

Prest

Revealed-preference analysis and preference estimation from choice data: https://prestsoftware.com

Reach us at gerasimou AT outlook DOT com and ziman AT functor DOT sk.

Introduction

Prest is a free and user-friendly desktop application for computational revealed preference analysis. It allows for processing choice datasets that economists, psychologists and consumer/marketing researchers often generate through experiments, market studies or surveys.

Documentation and downloads

Pre-built Prest binaries can be downloaded from the landing page of the documentation at https://prestsoftware.com.

Building and running Prest

Dependencies: * Rust 1.26 stable + Cargo * Python 3.10+

Install the dependencies, compile everything and run:

bash $ pip install --user -r gui/requirements.txt $ make run

Optionally, work in a virtual environment:

```bash $ python3 -m venv prest.env $ source prest.env/bin/activate

The next line is different from the previous installation command.

$ pip install -r gui/requirements.txt $ make run ```

The build invoked by the commands above will, among other things, build the HTML documentation, which is required for the help features of Prest. It will also typecheck the code using mypy.

Testing

bash $ make test # quick test during development $ make fulltest # includes long-running tests

The most comprehensive test is the integration test, which runs the whole pipeline including the Rust core on the example datasets. It is invoked in the course of the above commands; make test uses only the small example datasets, while make fulltest uses all of them.

Packaging

We build stand-alone binaries using PyInstaller. These build scripts are not published at the moment.

License

Prest consists of two separate programs: GUI (GNU GPL) and core (BSD-3-Clause). The full license texts can be found in the corresponding subdirectories of the source code.

Citation

If you use Prest in your academic work, please cite it as follows:

Georgios Gerasimou and Matúš Tejiščák (2018) Prest: Open-Source Software for Computational Revealed Preference Analysis, Journal of Open Source Software, 3(30), 1015, doi:10.21105.joss.01015.

Declarations

Prest does not collect any data entered by its users.

The latest version of Prest will always be available online for free.

Owner

  • Name: Prest
  • Login: prestsoftware
  • Kind: organization

Revealed preference analysis & preference estimation from choice datasets

JOSS Publication

Prest: Open-Source Software for Computational Revealed Preference Analysis
Published
October 20, 2018
Volume 3, Issue 30, Page 1015
Authors
Georgios Gerasimou ORCID
School of Economics & Finance, University of St Andrews
Matúš Tejiščák
School of Computer Science, University of St Andrews
Editor
Arfon Smith ORCID
Tags
choice consistency analysis axioms preference estimation simulations

GitHub Events

Total
  • Create event: 6
  • Commit comment event: 1
  • Release event: 1
  • Watch event: 8
  • Delete event: 11
  • Push event: 92
  • Pull request event: 2
  • Fork event: 1
Last Year
  • Create event: 6
  • Commit comment event: 1
  • Release event: 1
  • Watch event: 8
  • Delete event: 11
  • Push event: 92
  • Pull request event: 2
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 617
  • Total Committers: 5
  • Avg Commits per committer: 123.4
  • Development Distribution Score (DDS): 0.248
Past Year
  • Commits: 125
  • Committers: 2
  • Avg Commits per committer: 62.5
  • Development Distribution Score (DDS): 0.408
Top Committers
Name Email Commits
Matus Tejiscak z****n@f****k 464
Georgios Gerasimou g****u@o****m 146
HaoZeke r****i@a****m 5
Tom Harley t****h@s****k 1
Georgios Gerasimou g****6@s****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 4
  • Average time to close issues: about 24 hours
  • Average time to close pull requests: 2 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 2.67
  • Average comments per pull request: 0.5
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • HaoZeke (3)
Pull Request Authors
  • HaoZeke (3)
  • georgiosgerasimou (2)
Top Labels
Issue Labels
Pull Request Labels
enhancement (2)

Dependencies

.github/workflows/main.yml actions
  • actions-rs/toolchain v1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
prest-core/Cargo.toml cargo
prest-lib/Cargo.toml cargo
gui/requirements.txt pypi
  • PyQt5 *
  • PyQt5-stubs *
  • hypothesis *
  • mypy *
  • numpy *
  • openpyxl *
  • pip *
  • pyinstaller *
  • pytest *
  • sphinx *
  • sphinx-mathjax-offline *
  • sphinxcontrib-bibtex *
  • sphinxcontrib-websupport *
  • sphinxjp-themes-basicstrap *
  • tqdm *