{"id":20690308,"url":"https://github.com/ftl/cabrillo","last_synced_at":"2025-09-04T12:50:41.979Z","repository":{"id":64299090,"uuid":"568451955","full_name":"ftl/cabrillo","owner":"ftl","description":"A Go library to handle the Cabrillo file format","archived":false,"fork":false,"pushed_at":"2024-12-24T11:17:10.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-24T12:37:35.619Z","etag":null,"topics":["amateur-radio","amateurradio","cabrillo","contest","ham-radio","hamradio","hf-contest-log"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ftl.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-11-20T15:22:59.000Z","updated_at":"2024-12-24T11:16:49.000Z","dependencies_parsed_at":"2024-06-19T01:28:38.362Z","dependency_job_id":"3ba2dc93-34e3-4ca8-bec3-76ab15ed6894","html_url":"https://github.com/ftl/cabrillo","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftl%2Fcabrillo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftl%2Fcabrillo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftl%2Fcabrillo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftl%2Fcabrillo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ftl","download_url":"https://codeload.github.com/ftl/cabrillo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234399309,"owners_count":18826069,"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":["amateur-radio","amateurradio","cabrillo","contest","ham-radio","hamradio","hf-contest-log"],"created_at":"2024-11-16T23:12:36.620Z","updated_at":"2025-01-17T17:15:01.054Z","avatar_url":"https://github.com/ftl.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ftl/cabrillo\n\nThis little Go library to handle the [Cabrillo](https://wwrof.org/cabrillo/) file format for amateur radio contest log files.\n\n## Use as a Go Library\n\nTo include `cabrillo` into your own projects as a library:\n\n```shell\ngo get github.com/ftl/cabrillo\n```\n### Read a Cabrillo log file\n\n```go\nf, err := os.Open(\"mycabrillo.log\")\nif err != nil {\n    panic(err)\n}\nlog, err := cabrillo.Read(f)\nif err != nil {\n    panic(err)\n}\n```\n\n### Write a Cabrillo log file\n\n```go\nlog := cabrillo.NewLog()\nlog.Contest = \"CQ-WW-CW\"\nlog.Callsign = callsign.MustParse(\"DL0ABC\")\nlog.Operators = []callsign.Callsign{callsign.MustParse(\"DL1ABC\")}\nlog.Host = callsign.MustParse(\"DL1ABC\")\nlog.Location = \"DX\"\nlog.Category.Operator = cabrillo.SingleOperator\nlog.Category.Assisted = cabrillo.Assisted\nlog.Category.Band = cabrillo.BandAll\nlog.Category.Power = cabrillo.HighPower\nlog.Category.Mode = cabrillo.ModeCW\nlog.Category.Transmitter = cabrillo.OneTransmitter\nlog.ClaimedScore = 12345\nlog.Club = \"Bavarian Contest Club\"\nlog.Name = \"Hans Hamster\"\nlog.Email = \"hans.hamster@example.com\"\nlog.Address.Text = \"Beispielstraße 1\"\nlog.Address.City = \"Musterstadt\"\nlog.Address.Postalcode = \"12345\"\nlog.Address.StateProvince = \"Bavaria\"\nlog.Address.Country = \"Germany\"\nlog.CreatedBy = \"Golang Cabrillo Example\"\nlog.Soapbox = \"this is just an example that shows how to write Cabrillo logs in Golang\"\n\n// qsos is where you keep your QSO data in your internal representation\nqsoData := make([]QSO, 0, len(qsos)) \nfor _, qso := range qsos {\n    // convertQSOToCabrillo converts your internal represenation to cabrillo.QSO\n    qsoData = append(qsoData, convertQSOToCabrillo(qso)) \n}\nlog.QSOData = qsoData\n\nf, err := os.Create(\"mycabrillo.log\")\nif err != nil {\n    panic(err)\n}\nerr = cabrillo.Write(f, log, false)\nif err != nil {\n    panic(err)\n}\n```\n\n## License\nThis software is published under the [MIT License](https://www.tldrlegal.com/l/mit).\n\nCopyright [Florian Thienel](http://thecodingflow.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftl%2Fcabrillo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fftl%2Fcabrillo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftl%2Fcabrillo/lists"}