{"id":15687174,"url":"https://github.com/figsoda/sagoin","last_synced_at":"2025-04-19T12:39:52.900Z","repository":{"id":62051127,"uuid":"537283590","full_name":"figsoda/sagoin","owner":"figsoda","description":"A command-line submission tool for the UMD CS Submit Server","archived":false,"fork":false,"pushed_at":"2025-03-18T00:15:45.000Z","size":227,"stargazers_count":10,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T07:51:27.741Z","etag":null,"topics":["cli","hacktoberfest","marmoset","maryland","submit","umd"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/sagoin","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/figsoda.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-16T02:54:18.000Z","updated_at":"2024-09-18T21:03:30.000Z","dependencies_parsed_at":"2023-02-01T05:00:19.697Z","dependency_job_id":"b752c647-3aed-4e18-956d-bf5db5060995","html_url":"https://github.com/figsoda/sagoin","commit_stats":{"total_commits":59,"total_committers":1,"mean_commits":59.0,"dds":0.0,"last_synced_commit":"16716259f443da7c2d02f472c41fbc4aa1436a3a"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figsoda%2Fsagoin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figsoda%2Fsagoin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figsoda%2Fsagoin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/figsoda%2Fsagoin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/figsoda","download_url":"https://codeload.github.com/figsoda/sagoin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249695757,"owners_count":21311771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","hacktoberfest","marmoset","maryland","submit","umd"],"created_at":"2024-10-03T17:44:36.242Z","updated_at":"2025-04-19T12:39:52.857Z","avatar_url":"https://github.com/figsoda.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sagoin\n\n[![release](https://img.shields.io/github/v/release/figsoda/sagoin?logo=github\u0026style=flat-square)](https://github.com/figsoda/sagoin/releases)\n[![version](https://img.shields.io/crates/v/sagoin?logo=rust\u0026style=flat-square)][crate]\n[![deps](https://deps.rs/repo/github/figsoda/sagoin/status.svg?style=flat-square\u0026compact=true)](https://deps.rs/repo/github/figsoda/sagoin)\n[![license](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue?style=flat-square)](https://www.mozilla.org/en-US/MPL/2.0)\n[![ci](https://img.shields.io/github/actions/workflow/status/figsoda/sagoin/ci.yml?label=ci\u0026logo=github-actions\u0026style=flat-square)](https://github.com/figsoda/sagoin/actions?query=workflow:ci)\n\n`sagoin` is a command-line submission tool for the UMD CS Submit Server.\nThis project is largely inspired by and aims to be the spiritual successor of the [CommandLineSubmission] program from the [marmoset](https://marmoset.cs.umd.edu) project by [Jaime Spacco](https://www.knox.edu/academics/faculty/spacco-jaime), [William Pugh](https://www.cs.umd.edu/~pugh), and others,\nhence the [AGPL-3.0-or-later] license and the name [sagoin](https://en.wiktionary.org/wiki/sagoin),\nwhich refers to a [marmoset](https://en.wikipedia.org/wiki/Marmoset).\n\n\n## Installation\n\nThe latest precompiled binaries are available on [github](https://github.com/figsoda/sagoin/releases/latest).\n\nAlternatively you can install sagoin from [crates.io][crate] with cargo.\n\n```sh\ncargo install sagoin\n```\n\n\n## Building from source\n\n```sh\ncargo build --release\n```\n\n## Quick start\n\nSubmit the project in the current directory:\n```sh\nsagoin\n```\n\nSubmit the project under the `ProjectName` directory:\n```sh\nsagoin ProjectName\n```\n\nSubmit the project under the `ProjectName` directory and open the project page in a web browser:\n```sh\nsagoin ProjectName -o\n```\n\n\n## Usage\n\n```\nUsage: sagoin [OPTIONS] [DIRECTORY]\n\nArguments:\n  [DIRECTORY]  Set the working directory, all commands will be run under this directory\n\nOptions:\n  -n, --no-submit                   Don't submit the project\n  -l, --list-files                  List files without submitting them\n  -i, --info                        Show information about the project and exit\n  -o, --open                        Open the project page in a web browser\n  -f, --field \u003cKEY\u003e \u003cVALUE\u003e         Additional key-value pairs to send to the submit server, this will not affect authentication\n      --color \u003cWHEN\u003e                Controls when to use color [default: auto] [possible values: auto, always, never]\n  -c, --config \u003cFILE\u003e               Specify the path to the config file, looks for sagoin/config.toml under XDG configuration directories on unix-like systems, and defaults to {FOLDERID_RoamingAppData}\\sagoin\\config.toml on windows when unspecified [env: SAGOIN_CONFIG=]\n  -t, --time-format \u003cFORMAT\u003e        Specify how to format the due date, ignored without the --info flag, defaults to \"[month repr:short] [day padding:none], [hour]:[minute]\" when unspecified [env: SAGOIN_TIME_FORMAT=]\n  -u, --username \u003cUSERNAME\u003e         Specify the username for authentication, see --username-type for more information [env: SAGOIN_USERNAME=]\n  -U, --username-type \u003cTYPE\u003e        Specify the type for the username, defaults to text when unspecified [env: SAGOIN_USERNAME_TYPE=] [possible values: command, file, text]\n  -p, --password \u003cPASSWORD\u003e         Specify the password for authentication, see --password-type for more information [env: SAGOIN_PASSWORD=]\n  -P, --password-type \u003cTYPE\u003e        Specify the type for the password, defaults to text when unspecified [env: SAGOIN_PASSWORD_TYPE=] [possible values: command, file, text]\n  -s, --pre-submit-hook \u003cCOMMAND\u003e   Command to run before submission [env: SAGOIN_PRE_SUBMIT_HOOK=]\n  -S, --post-submit-hook \u003cCOMMAND\u003e  Command to run after successful submissions [env: SAGOIN_POST_SUBMIT_HOOK=]\n      --client-name \u003cNAME\u003e          Change the client name used to submit the project [env: SAGOIN_CLIENT_NAME=]\n      --client-version \u003cVERSION\u003e    Change the client version used to submit the project [env: SAGOIN_CLIENT_VERSION=]\n  -h, --help                        Print help information (use `-h` for a summary, use `--help` for more detail)\n  -V, --version                     Print version information\n```\n\n\n## Feature comparison\n\nFreature | Sagoin | [CommandLineSubmission] | [CourseProjectManager Eclipse plugin](https://www.cs.umd.edu/~pugh/eclipse)\n-|-|-|-\nSubmission | ✓ | ✓ | ✓\nWork without Eclipse | ✓ | ✓ | ✗\nLDAP authentication | ✓ | ✓ | ✓\nOpenID authentication | ✗ | ✓ | ✓\nCVS integration | ✗ | ✗ | ✓\nCVS ignore | ✗ | ✓ | ✓\nGit ignore | ✓ | ✗ | ✗\nCustom credential input | ✓ | ✗ | ✗\nOpen project page | ✓ | ✗ | ✗\nSubmit hooks | ✓ | ✗ | ✗\nShow project information | ✓ | ✗ | ✗\n\n\n## Configuration\n\nFile resolution:\n- for unix-like systems: looks for `sagoin/config.toml` under XDG configuration directories, e.g. `/home/\u003cuser\u003e/.config/sagoin/config.toml`\n- for windows: defaults to `{FOLDERID_RoamingAppData}\\sagoin\\config.toml`, e.g. `C:\\Users\\\u003cuser\u003e\\AppData\\Roaming\\sagoin\\config.toml`\n\nThe configuration file is written in [TOML](https://toml.io). Run `sagoin --help` for more information.\n\n```toml\n# all possible fields in config.toml\ntime_format = \"...\"\nusername = \"...\"\nusername_type = \"command | file | text\"\npassword = \"...\"\npassword_type = \"command | file | text\"\npre_submit_hook = \"...\"\npost_submit_hook = \"...\"\nclient_name = \"...\"\nclient_version = \"...\"\n```\n\n\n## Changelog\nSee [CHANGELOG.md](CHANGELOG.md)\n\n\n## License\n\nThis repository is licensed under [GNU Affero General Public License v3.0 or later][AGPL-3.0-or-later].\n\n\n[AGPL-3.0-or-later]: https://spdx.org/licenses/AGPL-3.0-or-later.html\n[CommandLineSubmission]: https://github.com/billpugh/marmoset/tree/master/CommandLineSubmission\n[crate]: https://crates.io/crates/sagoin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffigsoda%2Fsagoin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffigsoda%2Fsagoin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffigsoda%2Fsagoin/lists"}