{"id":31845081,"url":"https://github.com/horizonsrc/samplerqrgenerator","last_synced_at":"2025-10-12T07:57:09.519Z","repository":{"id":256322246,"uuid":"759553534","full_name":"HorizonsRC/samplerqrgenerator","owner":"HorizonsRC","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-15T01:06:55.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-15T01:29:37.621Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HorizonsRC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-02-18T21:51:20.000Z","updated_at":"2024-11-15T00:50:45.000Z","dependencies_parsed_at":"2024-09-10T05:58:04.085Z","dependency_job_id":"0c3ed962-e031-4346-8675-ca1db3d4e21d","html_url":"https://github.com/HorizonsRC/samplerqrgenerator","commit_stats":null,"previous_names":["horizonsrc/sampler-qr-generator","horizonsrc/samplerqrgenerator"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/HorizonsRC/samplerqrgenerator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorizonsRC%2Fsamplerqrgenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorizonsRC%2Fsamplerqrgenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorizonsRC%2Fsamplerqrgenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorizonsRC%2Fsamplerqrgenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HorizonsRC","download_url":"https://codeload.github.com/HorizonsRC/samplerqrgenerator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HorizonsRC%2Fsamplerqrgenerator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010671,"owners_count":26084785,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-12T07:56:59.578Z","updated_at":"2025-10-12T07:57:09.510Z","avatar_url":"https://github.com/HorizonsRC.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sampler QR Generator\n\nThis is a plugin for Hilltop Sampler. It uses the \"sample preregistration\" plugin hook to get the list of sites visited for a run, compiles and sends a printable pdf to a specified folder.\n\nThe general usage overview is as follows:\n\n1. A technician opens Sampler, and double clicks on the run that has already been created.\n2. They click the \"Notify Lab\" button.\n3. This sends two pdf files to a predefined network location.\n4. These files can be printed: One using a label sticker printer to be placed on the sample bags that contain the sample bottles for each site, and one on a sheet of A4 paper to be kept as a backup.\n5. In the field the QR code can be scanned into the Survey123 form, where it will auto populate the site name and sample number.\n\n## Installation\n\n### Download the plugin files\n\nDownload the latest release binary file from the Releases section in the sidebar. It is likely that you would need to install both the 32 and 64 bit versions of the plugin. You can place this file anywhere, but I would recommend placing it in a `Plugins` folder inside your Hilltop installation, for example `C:\\Hilltop\\Plugins\\`\n\n**Please note** that at this point I am only building and releasing the \"wheel\" binaries (`.whl` files). If you need the source binaries (`.tar.gz` files), please contact me and I'll build them for you.\n\n### Install the plugins\n\nOpen your Hilltop directory in a terminal emulator. You can do this by navigating to the directory in File Explorer, right-clicking in white space and hitting \"Open in Terminal\". (In Windows 11 you might have to hit \"More options\" or something to bring up to bring up the Windows 10 menu for some reason.)\n\nEnter the following commands:\n\n32x:\n```\n.\\Libs\\python.exe -m pip install \u003cpath\u003e\n```\n\n64x:\n```\n.\\x64\\Libs\\python.exe -m pip install \u003cpath\u003e\n```\n\nwhere `\u003cpath\u003e` is the relative path to the plugin `.whl` file that you have saved.\n\nFor example, if your Hilltop directory is `C:\\Hilltop` and you've saved your plugin file in `C:\\Hilltop\\Plugins`, then your command line would look like this:\n\n```\nPS C:\\Hilltop\u003e .\\Libs\\python.exe -m pip install .\\Plugins\\samplerqrgenerator-\u003cversion\u003e-32bit-py310-none-any.whl\n```\nfor 32 bit, or\n```\nPS C:\\Hilltop\u003e .\\x64\\Libs\\python.exe -m pip install .\\Plugins\\samplerqrgenerator-\u003cversion\u003e-64bit-py310-none-any.whl\n```\nfor the 64 bit version, where version is the version number in the format `x.x.x`.\n\n### Configure the plugin\n\nFinally you need to specify the directory to which the plugin with save the qr code files that it creates. This configuration can be placed in your `HilltopSystem.dsn` file, under the `[Sampler]` heading, like this:\n\n```\n[Sampler]\nLabelOutputDir = \\\\directory\\for\\qr\\code\\output\n```\n\n### Activate the plugin\n\nOnce installed, the plugin needs to be linked up and activated. To do this, open Sampler, and select `Edit \u003e Labs`. Select the lab that recieves your samples at the top, and select \"QR Generator\" from the drop down in the \"Sample preregistration\" section.\n\n## Survey123 integration\n\nThe script `survey123_parser/parse_functions.js` contains the script to be added to Survey123, where it will expose functions that can be used to obtain the necessary fields from the QR code payload.\n\n# Build instructions\n\nThis section is for developers who want to build the source binaries for release.\n\nDue to the two supported architectures, we need to make separate releases for 32 and 64-bit  architectures. Unfortunately this information cannot be passed as \"platform\" specifications as this will block installation of the wheel on a machine that doesn't have a CPU architecture that agrees with the Hilltop architecture. \n\nFor that reason we can specify the Hilltop architecture as a `build-number`, which is just a suffix to the version number used to differentiate different builds of the same version. This can be passed to the build backend with the following build command: \n\n```\n../../x64/Libs/python.exe -m build -w -C=\"--build-option=--build-number 64bit --python-tag py310\" -n .\n```\n\nWe'll use the convention that a build number of `32bit` is a plugin intended for the 32 bit Hilltop, and build number `64bit` is for 64 bit Hilltop.\n\nNote that the above command also specifies the python version. This is just a failsafe that might prevent installations of the plugins using other python interpreters installed on the user's system. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhorizonsrc%2Fsamplerqrgenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhorizonsrc%2Fsamplerqrgenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhorizonsrc%2Fsamplerqrgenerator/lists"}