The Open edX platform, the software that powers edX!

Overview

This is the core repository of the Open edX software. It includes the LMS (student-facing, delivering courseware), and Studio (course authoring) components.

Installation

Installing and running an Open edX instance is not simple. We strongly recommend that you use a service provider to run the software for you. They have free trials that make it easy to get started: https://openedx.org/get-started/

If you will be modifying edx-platform code, the Open edX Developer Stack is a Docker-based development environment.

If you want to run your own Open edX server and have the technical skills to do so, Open edX Installation Options explains your options.

License

The code in this repository is licensed under version 3 of the AGPL unless otherwise noted. Please see the LICENSE file for details.

More about Open edX

See the Open edX site to learn more about the Open edX world. You can find information about hosting, extending, and contributing to Open edX software. In addition, the Open edX site provides product announcements, the Open edX blog, and other rich community resources.

Documentation

Documentation can be found at https://docs.edx.org.

Getting Help

If you're having trouble, we have discussion forums at https://discuss.openedx.org where you can connect with others in the community.

Our real-time conversations are on Slack. You can request a Slack invitation, then join our community Slack team.

For more information about these options, see the Getting Help page.

Issue Tracker

We use JIRA for our issue tracker, not GitHub issues. You can search previously reported issues. If you need to report a problem, please make a free account on our JIRA and create a new issue.

How to Contribute

Contributions are welcome! The first step is to submit a signed individual contributor agreement. See our CONTRIBUTING file for more information – it also contains guidelines for how to maintain high code quality, which will make your contribution more likely to be accepted.

Reporting Security Issues

Please do not report security issues in public. Please email [email protected].

Comments
  • Include ConnectTimeout under ecs script retry

    Include ConnectTimeout under ecs script retry

    Sometimes we were seeing a connection timeout when booting up ecs containers. We should be catching this error (like we are with ClientError and retrying.

    opened by michaelyoungstrom 249
  • Shuffle feature for multiple choice questions

    Shuffle feature for multiple choice questions

    @cpennington Could you check this one out? @rocha Note the analytics issue below @jinpa How about you do testing, it is your story I believe!

    Just FYI: @jaericson @shnayder

    Adds studio and lms support for an option to shuffle the displayed order of multiple choice questions. Works by shuffling the xml tree nodes in the problem during the get_html process. The shuffling uses the problem's seed. The added syntax for the xml and markdown is documented in the Changelog.

    One concern was: will this mess up analytics? My experiments suggest that analytics will work fine:

    The question is -- when the question choices are displayed shuffled, is enough logged so that analytics still works?

    I have a 4-option problem with shuffling enabled. In this case, the options are presented in the order b a d c (i.e. 1 0 3 2). I selected option c, the last one displayed (which happens to be correct), and then looking in courseware_studentmodulehistory I have the following row

    2013-10-22 22:23:40.658495|1.0|1.0|{"correct_map": {"i4x-Stanford-CS99-problem-408c0fcffb8c41ec87675d8c3f7a3b5b_2_1": {"hint": "", "hintmode": null, "correctness": "correct", "npoints": null, "msg": "", "queuestate": null}}, "input_state": {"i4x-Stanford-CS99-problem-408c0fcffb8c41ec87675d8c3f7a3b5b_2_1": {}}, "attempts": 2, "seed": 282, "done": true, "student_answers": {"i4x-Stanford-CS99-problem-408c0fcffb8c41ec87675d8c3f7a3b5b_2_1": "choice_2"}}||4|52

    In student_answers I see choice_2 which is "c" in the 0-based numbering, so that's right. It looks to me that it has successfully recorded which choice I made, not getting confused by the fact that the options where displayed in a different order. The rest of the stuff in the rows looks reasonable, but mostly it's greek to me.

    Because we're using standard python shuffle, knowing the seed, you can recreate the shuffle order. Maybe you never need to do this since the problem will just do it for you. Still. Noting that the logged seed above is 282:

    r = random.Random(282) a = [0, 1, 2, 3] r.shuffle(a) a [1, 0, 3, 2]

    Cute!

    open-source-contribution 
    opened by nparlante 163
  • Extended hint features

    Extended hint features

    This PR adds new "extended hint" features for many question types.

    For example per-choice feedback..

      >>What is your favorite color?<<
      () Red   {{A lot of people think it's Red, but those people are wrong.}}
      () Green
      (x) Blue
    

    When the user tries Red as an answer, the extended hint appears. For a sample course .tar.gz with examples of all the extended hint features see https://drive.google.com/file/d/0BzXwXoUU5YRpdVJhbUphT19Hb1E

    Here I will outline the implementation side of things.

    The implementation has roughly three parts: -The markdown parser, adding support for {{ ... }} as above -The capa xml layer, to store and retrieve extended hints per question -Problem html generation, to show the extended hints

    Thomas Brennan-Marquez wrote an original draft of many of these features, and I, Nick Parlante, then did some heavy revision and extension.

    1. Markdown Parsing

    See edit.coffee and companion edit_spec_hint.coffee

    I made a high level decision to not change the old markdown parsing at all, staying quirk for quirk compatible. So all the old tests pass unchanged. The extended hint parsing is layered on top. The original parsing code is written in a rather functional style, so the additions are written that way too.

    2. responsetypes.py - get_extended_hints

    Many extended hints associate a hint with particular choices in the xml, e.g.

      <choicegroup label="What is your favorite color?" type="MultipleChoice">
        <choice correct="false">Red <choicehint>No, Blue!</choicehint> </choice>
    

    Therefore, for each response type - multiple choice, checkbox, dropdown, text input, numeric input - there's a get_extended_hints() method that digs the appropriate hint out of the xml and puts it in the map 'msg' to go back to the client. In some cases, there is nontrivial logic to pick out the right extended hint depending on the specific student choices.

    3. capa_base.py - get_problem_html

    Many extended hints are sent to the client through the existing cmap['msg'] mechanism.

    The demand hints are added in their own div in the problem.html template.

    As an additional wrinkle, with the addition of extended hints, the question xml often has tags that are not just to be echoed to the user, e.g. in the above. Therefore, the get-html path needs logic to strip out these tags. Previously, the xml was almost always just stuff to show the user, so there was nothing to remove.

    4. Other XML changes:

    The PR changes additional_answer to use an attribute, as below, to be consistent with the other text-input cases. Compatibility code is provided.

      <additional_answer answer="Blue"> <correcthint>hint2</correcthint> </additional_answer>
    

    The PR provides a longer xml form, as below, that also supports per-option hints. Compatibility is provided.

    <optioninput>
      <option correct="False">dog <optionhint>No, too friendly</optionhint> </option>
      <option correct="True">cat</option>
      <option correct="False">parrot</option>
    </optioninput>
    

    The various studio question templates have been updated to show off the new extended-hint features in markdown.

    Add: With this PR, the xml has many tags, such as which are in the problem, but which are not supposed to be echoed in the client html. These are stripped out explicitly in get_problem_html(). Before this PR, the <additional_answer> node was kept out of the html by deleting it from the XML tree during parsing. This tag-stripping, now with many more types of tag to keep out, is now done just once in get_problem_html.

    Add: added 2 markdown syntax cases, not expanding any underlying capability, just what cases can be done in the markdown shorthand:

    1. not= -- express the stringresponse <stringequalhint> case, a feedback matching a specific incorrect answer
    2. s= -- force a text-entry question to be stringresponse, instead of the usual behavior of guessing numericalresponse vs. stringresponse by looking at the syntax of the answer
    waiting on author 
    opened by nparlante 133
  • Add always_cohort_inline_discussions in course settings

    Add always_cohort_inline_discussions in course settings

    For a cohorted course, we needed a way to set inline discussions non-cohorted by default and select manually the discussions that need to be cohorted. 2 course settings added:

    • always_cohort_inline_discussions: Set it to False to get the inline discussions NON-cohorted by default for a cohorted course. Then, you can add the inline discussions id in the cohorted_discussions array:
    {
        "always_cohort_inline_discussions": false,
        "cohorted_discussions": [
            "<inline discussion id obtained from an inline discussion block>"
        ],
        "cohorted": true
    }
    

    The implementation is simple and doesn't affect much code.

    Sandbox URL:

    • LMS, with course configured to use the feature: http://sandbox2.opencraft.com/courses/TestX/TST-COHORT-1/now/about
    • Studio: http://sandbox2.opencraft.com:18010/

    cc @antoviaque

    engineering review 
    opened by aboudreault 112
  • Add OpenStack Swift support

    Add OpenStack Swift support

    Background: The edX platform includes a number of features that use S3 directly. These include:

    • Instructor CSV data exports
    • Video storage
    • xqueue
    • Student Identity Verification (photo uploads)
    • Analytics event dumps (via a logrotate script)

    For deployments outside of AWS it would make sense to use a different cloud storage provider, or even the local filesystem.

    In particular, OpenStack deployments will want to use an OpenStack Swift Object Store for user-uploaded content. Although Swift offers S3 API compatibility as a plugin (called "Swift3") in theory, in practice the compatibility is limited, often not installed on the OpenStack instance, and hard to get working.

    This pull request is an attempt to solve this problem by replacing all S3-specific code with the django storage API.

    Studio updates: None yet, although video uploads will need to be modified. I am currently holding off on this as it will require changes to VEDA and I don't have access to that repo. Once Greg Martin has made the necessary changes to VEDA I will update Studio in a separate PR.

    LMS updates: Instructor CSV exports and student photo uploads modified to use the django storage API. Added an openstack.py settings file.

    Sandbox: http://pr11286.sandbox.opencraft.com/

    Related PRs:

    • https://github.com/edx/configuration/pull/2723
    • https://github.com/edx/xqueue/pull/103
    • https://github.com/edx/edx-platform/pull/11374

    Testing: Deploy a sandbox using https://github.com/edx/configuration/pull/2723. Use these ansible vars, completed with your openstack credentials.

    To test the instructor CSV reports:

    • Go to the instructor dashboard for a course
    • Open the 'data download' tab
    • Click 'generate grade report'
    • An entry for the report should appear in the list below
    • Check that the report CSV has been uploaded to the swift container
    • Click the link to download the report directly from swift

    To test student identity verification:

    • In the django admin, create a new CourseMode for an existing course. Set the mode to verified, and make sure the price is > 0 (https://github.com/edx/edx-platform/pull/11374)
    • In the LMS course list, there should now be an 'upgrade' button if you are already enrolled in the course. Click it
    • You will be presented with a payment page. We need to get past this to get to the ID verification step. Run ./manage.py lms --settings=openstack shell, then:
    from django.contrib.auth.models import User
    from opaque_keys.edx.keys import CourseKey
    from student.models import CourseEnrollment
    
    user = User.objects.get(username='<your_username>')
    course_key = CourseKey.from_string('course-v1:edX+DemoX+Demo_Course')
    enrollment = CourseEnrollment.get_or_create_enrollment(user, course_key)
    enrollment.update_enrollment(mode='verified')
    

    Alternatively, you can simply update the CourseEnrollment in the django admin:

    screen shot 2016-02-01 at 18 44 59

    This fools the LMS into thinking that the course has already been paid for. Go back to the payment page, and you should see the webcam verification step. Note that Chrome will not allow access to the webcam over plain http unless you are running on localhost. Firefox doesn't seem to mind.

    To test xqueue:

    • In studio, add a blank problem and set its xml to:
    <problem display_name="XQueue Test">
       <text>
           <p>Upload a program that prints "hello world".</p>
       </text>
       <coderesponse queuename="edX-Open_DemoX">
           <filesubmission/>
           <codeparam>
               <initial_display>
                 # students please write your program here
                 print ""
               </initial_display>
               <answer_display>
                 print "hello world"
               </answer_display>
               <grader_payload>
                 {"output": "hello world"}
               </grader_payload>
           </codeparam>
       </coderesponse>
    </problem>
    
    • Go to that problem in LMS (xqueue does not work in studio), select a file and click the 'Check' button
    • You should see this: screen shot 2016-02-03 at 01 41 57
    • The submission should now be in the configured swift bucket

    To test log sync to swift:

    SSH into the sandbox, and run

    sudo service supervisor stop
    

    This should trigger a log sync, after which the tracker logs can be found in a swift container.

    Future tasks: write some tests for django-swift-storage. It doesn't have any yet.

    Settings

    EDXAPP_SETTINGS: 'openstack'
    XQUEUE_SETTINGS: 'openstack_settings'
    COMMON_VHOST_ROLE_NAME: 'openstack'
    edx_ansible_source_repo: 'https://github.com/open-craft/configuration.git'
    configuration_version: 'omar/openstack'
    xqueue_source_repo: 'https://github.com/open-craft/xqueue.git'
    xqueue_version: 'omar/django-storage-api'
    
    open-source-contribution engineering review 
    opened by omarkhan 105
  • MIT CCx (was Personal Online Courses)

    MIT CCx (was Personal Online Courses)

    This PR implements "Personal Online Courses" or POCs (working title). POCs are a simplified approach to SPOCs that allow for a course (or portions of a course) to be reused with a small groups of students. Course instructors assign a "POC Coach" who can create a POC, choose a subset of course modules for the POC (with start and end dates) and administer students. Importantly, POC Coaches cannot change the content and do not have the same permissions as course staff.

    POCs were originally proposed on the edx code list last year and have been discussed with edX Product (including @explorerleslie ) and with edX Engineering ( @cpennington and @nedbat ).

    This feature is intended to be used on edX.org. In particular, we are fielding requests to use this feature with 15.390.1x and 15.390.2x. This PR only affects LMS.

    For manual testing, please view the demo screencast. The edX Demo course can be used for testing.

    We are under constant demand for this feature. We would like to have it merged by the end of January.

    For this WIP PR we have a couple of issues that we could use some help with:

    1. This PR has a dependency on PR https://github.com/edx/edx-platform/pull/5802 which provides the settings override feature that allows POC start and end dates to be applied just for POC students.
    2. Since POCs may omit some content from the MOOC, we need to override grading policy. We would like feedback from @ormsbee on our approach.
    3. We have introduced a new role -- POC Coach (working title) -- and a new course tab to go with it. @chrissrossi inquired about the best approach to handling tab permissions on the mailing list but we would like a confirmation that the approach suggested by @andyarmstrong is OK. We have not yet implemented this.

    All the authors of this PR are covered under the edX-MIT agreement.

    community manager review 
    opened by cewing 100
  • Use uuid instead of randint for db names in Mongo builders

    Use uuid instead of randint for db names in Mongo builders

    I was seeing a flaky failure once in a while inside CrossStoreXmlRoundtrip, specifically from the test_round_trip test. Here's an example: https://build.testeng.edx.org/view/edx-platform-pipeline-pr-tests/job/edx-platform-python-pipeline-pr/1288/

    I know the odds of 2 processes interfering because of a randomly generated number in such a large range is small, but keep in mind thanks to ddt, this test is run 36 times per build, and runs for a total of about 15 minutes. Mix in the fact that this was only failing maybe 10% of the time, and it seems like it actually could be related. Regardless, sticking with the theme of tying the process id to the db name seems consistent and better than a random number.

    opened by michaelyoungstrom 98
  • Public Course Import/Export API

    Public Course Import/Export API

    This is a public, shared, versioned, RESTful API for importing and exporting full course content. The code was initially ripped from the existing import/export API in the CMS contentstore djangoapp and wrapped in Django Rest Framework view classes. It's simply a new djangoapp in the openedx directory with 4 views:

    • GET /api/v1/courses - List courses (course keys) for which the user has full author access
    • GET /api/v1/courses/{course_key} - Export a full course in the form of a tarball
    • POST /api/v1/courses/{course_key} - Import a full course tarball
    • GET /api/v1/courses/{course_key}/import_status/{filename} - View the status of a course import (see https://github.com/edx/edx-platform/pull/6190/files#diff-4c6e0b7531e770ee217a370f8d990ac8R108)

    This PR includes configuration changes. Most notably, Studio is configured to serve the OAuth2 provider alongside the LMS.

    Here's the relevant thread on the code list: https://groups.google.com/forum/#!msg/edx-code/DmnHWmly25A/ZqjD1zb4o7oJ

    There are 28 non-covered lines, all of which are missing coverage in the existing CMS API. They're mostly error conditions, such as handling of multipart file upload errors.

    open-source-contribution awaiting prioritization 
    opened by bdero 98
  • Inline Discussion

    Inline Discussion "two-level" redesign

    TNL-4759

    Description

    Redesign inline discussions to have "two-level" UI.

    Sandbox

    Testing

    • [x] i18n
    • [x] RTL
    • [x] safecommit violation code review process
    • [x] Unit, integration, acceptance tests as appropriate
    • [x] Analytics
    • [x] Performance
    • [x] Database migrations are backwards-compatible

    Reviewers

    If you've been tagged for review, please check your corresponding box once you've given the :+1:.

    • [x] Code review: @andy-armstrong
    • [x] Code review: @alisan617
    • [x] Doc Review: @catong
    • [ ] UX review: @chris-mike
    • [ ] Accessibility review: @cptvitamin
    • [x] Product review: @marcotuts

    FYI: @dianakhuang

    Post-review

    • [ ] Rebase and squash commits
    opened by bjacobel 91
  • MA-333 Added ability to refresh uploaded videos

    MA-333 Added ability to refresh uploaded videos

    This adds ability to refresh the list of uploaded videos without refreshing the whole page.

    ~~Added a refresh button that when clicked:~~ An event is triggered on each successful upload that:

    • fetches a fresh list of uploaded files from the server
    • updates PreviousVideoUploadListView
    • removes the successfully completed uploads from ActiveVideoUploadListView
    • retains the ongoing or failed uploads in ActiveVideoUploadListView so that they can be monitored/retried

    ~~The view can also be refreshed without user action, but I felt it may be less surprising to have a button instead.~~

    Sandbox

    Reviewers

    If you've been tagged for review, please check your corresponding box once you've given the :+1:.

    • [x] Code review: @muzaffaryousaf
    • [x] Code review: @mushtaqak
    • [x] Accessibility review: @cptvitamin
    • [x] Product review: @marcotuts or @sstack22

    cc: @antoviaque

    open-source-contribution engineering review 
    opened by tanmaykm 91
  • Account settings page

    Account settings page

    https://openedx.atlassian.net/browse/TNL-1499 https://openedx.atlassian.net/browse/TNL-1534

    The "Connected Accounts" functionality will be implemented in a separate PR.

    opened by symbolist 89
  • [OldMongo FC-0004] Tests for removing support for children in Old Mongo - part 4

    [OldMongo FC-0004] Tests for removing support for children in Old Mongo - part 4

    Description

    Should be merged after: https://github.com/openedx/edx-platform/pull/31466 Fourth part of preparing tests for Remove support for children in Old Mongo task (https://github.com/openedx/edx-platform/pull/31134).

    • updated test_import.py and test_course_index.py for split modulestore
    • fixed 400 error for cms old_style assets

    Useful information to include: First part: https://github.com/openedx/edx-platform/pull/31422 Second part: https://github.com/openedx/edx-platform/pull/31427 Third part: https://github.com/openedx/edx-platform/pull/31466 Remove support for children in Old Mongo PR: https://github.com/openedx/edx-platform/pull/31134 https://github.com/openedx/public-engineering/issues/80

    open-source-contribution 
    opened by UvgenGen 1
  • [DO NOT MERGE] feat: VAN-1120 - Add country code to learner home

    [DO NOT MERGE] feat: VAN-1120 - Add country code to learner home

    Description

    This PR fetches the user's country code from the IP address and adds it to learner home.

    Ticket: https://2u-internal.atlassian.net/browse/VAN-1120

    opened by shafqatfarhan 0
  • Python Requirements Update

    Python Requirements Update

    Python requirements update. Please review the changelogs for the upgraded packages.

    Deleted obsolete pull_requests: https://github.com/openedx/edx-platform/pull/31457

    opened by edx-requirements-bot 2
  • feat: unify ModuleSystem and DescriptorSystem

    feat: unify ModuleSystem and DescriptorSystem

    Description

    Work in progress PR to unify ModuleSystem and DescriptorSystem

    Supporting information

    OpenCraft internal ticket BB-5967

    Testing instructions

    Please provide detailed step-by-step instructions for testing this change.

    Deadline

    "None" if there's no rush, or provide a specific date or event (and reason) if there is one.

    Other information

    Include anything else that will help reviewers and consumers understand the change.

    • Does this change depend on other changes elsewhere?
    • Any special concerns or limitations? For example: deprecations, migrations, security, or accessibility.
    • If your database migration can't be rolled back easily.
    open-source-contribution 
    opened by kaustavb12 1
  • [OldMongo FC-0004] Tests for removing support for children in Old Mongo - part 3

    [OldMongo FC-0004] Tests for removing support for children in Old Mongo - part 3

    Description

    Should be merged after: https://github.com/openedx/edx-platform/pull/31427 Third part of preparing tests for Remove support for children in Old Mongo task (https://github.com/openedx/edx-platform/pull/31134).

    • updated test_authoring_mixin.py
    • updated test_xblock_utils.py
    • updated TestOnboardingView tests (updated default course key)
    • updated UsersDefaultRole tests

    Useful information to include: First part: https://github.com/openedx/edx-platform/pull/31422 Second part: https://github.com/openedx/edx-platform/pull/31427 Remove support for children in Old Mongo PR: https://github.com/openedx/edx-platform/pull/31134 https://github.com/openedx/public-engineering/issues/80

    open-source-contribution 
    opened by UvgenGen 1
Releases(named-release/cypress.rc2)
Owner
edX
The Open edX platform is open-source code that powers http://edx.org
edX
Tutor plugin for integration of Open edX with a Richie course catalog

Richie plugin for Tutor This is a plugin to integrate Richie, the learning portal CMS, with Open edX. The integration takes the form of a Tutor plugin

Overhang.IO 2 Sep 8, 2022
Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Aristotle University 5 Jun 28, 2022
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
Nimbus - Open Source Cloud Computing Software - 100% Apache2 licensed

⚠️ The Nimbus infrastructure project is no longer under development. ⚠️ For more information, please read the news announcement. If you are interested

Nimbus 194 Jun 30, 2022
An open letter in support of Richard Matthew Stallman being reinstated by the Free Software Foundation

An open letter in support of RMS. To sign, click here and name the file <username>.yaml (replace <username> with your name) with the following content

null 2.4k Jan 7, 2023
A deployer and package manager for OceanBase open-source software.

OceanBase Deploy OceanBase Deploy (简称 OBD)是 OceanBase 开源软件的安装部署工具。OBD 同时也是包管理器,可以用来管理 OceanBase 所有的开源软件。本文介绍如何安装 OBD、使用 OBD 和 OBD 的命令。 安装 OBD 您可以使用以下方

OceanBase 59 Dec 27, 2022
Hashcrack - A non-object oriented open source, Software for Windows/Linux made in Python 3

Multi Force This project is a non-object oriented open source, Software for Wind

Radiationbolt 3 Jan 2, 2023
pspsps(1) is a compyuter software to call an online catgirl to the Linux terminyal.

pspsps(1): call a catgirl from the Internyet to the Linux terminyal show processes: ps show catgirls: pspsps —@[email protected] pspsps(1) is a compyute

Melissa Boiko 32 Dec 19, 2022
LSO, also known as Linux Swap Operator, is a software with both GUI and terminal versions that you can manage the Swap area for Linux operating systems.

LSO - Linux Swap Operator Türkçe - LSO Nedir? LSO, diğer adıyla Linux Swap Operator Linux işletim sistemleri için Swap alanını yönetebileceğiniz hem G

Eren İnce 4 Feb 9, 2022
Choice Coin 633 Dec 23, 2022
A basic ticketing software.

Ticketer A basic ticketing software. Screenshots Program Launched Issuing Ticket Show your Ticket Entry Done Program Exited Code Features to implement

Samyak Jain 2 Feb 10, 2022
The official repository of iGEM Paris Bettencourt team's software tools.

iGEM_ParisBettencourt21 The official repository of iGEM Paris Bettencourt team's software tools. Cell counting There are two programs dedicated to the

Abhay Koushik 1 Oct 21, 2021
Modify version of impacket wmiexec.py, get output(data,response) from registry, don't need SMB connection, also bypassing antivirus-software in lateral movement like WMIHACKER.

wmiexec-RegOut Modify version of impacket wmiexec.py,wmipersist.py. Got output(data,response) from registry, don't need SMB connection, but I'm in the

小离 228 Jan 4, 2023
Launcher program to select which version of the Q-Sys software to launch.

QSC-QSYS Launcher Launcher program to select which version of the Q-Sys software to launch. Instructions To use the application simply save the "Q-Sys

Zach Lisko 2 Sep 28, 2022
A software dedicated to automaticaly select the agent of your desire in Valorant

AUTOPICKER A software dedicated to automaticaly select the agent of your desire in Valorant GUIDE Before stariting to use this program check if you ha

p1n00 0 Sep 24, 2022
A Python software implementation of the Intel 4004 processor

Pyntel4004 A Python software implementation of the Intel 4004 processor. General Information Two pass assembler using the original mnemonics, directiv

alshapton 5 Oct 1, 2022
Data wrangling & common calculations for results from qMem measurement software

qMem Datawrangler This script processes output of qMem measurement software into an Origin ® compatible *.csv files and matplotlib graphs to quickly v

Julian 1 Nov 30, 2021
A collection of software that serve no purpose other than waste your time. Forking is encouraged!

the-useless-collection A collection of software that serve no purpose other than waste your time. Forking is encouraged! Requires Python 3.9. Usage Go

Imsad2 1 Mar 16, 2022