<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guides on Data Canon</title><link>https://marianettigroup.github.io/data-canon/docs/guides/</link><description>Recent content in Guides on Data Canon</description><generator>Hugo</generator><language>en</language><atom:link href="https://marianettigroup.github.io/data-canon/docs/guides/index.xml" rel="self" type="application/rss+xml"/><item><title>Identity and Fingerprinting</title><link>https://marianettigroup.github.io/data-canon/docs/guides/identity-and-fingerprinting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://marianettigroup.github.io/data-canon/docs/guides/identity-and-fingerprinting/</guid><description>&lt;p&gt;A calculation&amp;rsquo;s inputs may appear in a readable text file, a binary archive,&#10;and several programming languages. Comparing the files tells you whether their&#10;bytes agree. DataCanon lets you ask a different question: do the representations&#10;describe the same structured data?&lt;/p&gt;&#10;&lt;p&gt;This guide identifies a calculation&amp;rsquo;s inputs, distinguishes changes in data&#10;from changes in presentation, and uses fingerprints to associate results with&#10;their inputs. Start with &lt;a href="https://marianettigroup.github.io/data-canon/docs/getting-started/"&gt;Getting Started&lt;/a&gt;&#10;for installation and the first persistence workflow.&lt;/p&gt;</description></item><item><title>Persistence and External Resources</title><link>https://marianettigroup.github.io/data-canon/docs/guides/persistence-and-external-resources/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://marianettigroup.github.io/data-canon/docs/guides/persistence-and-external-resources/</guid><description>&lt;p&gt;A scientific dataset often combines a small description with a large numerical&#10;Array or an existing file. DataCanon can store the data together or preserve an&#10;explicit reference to external content. The DCI retains its identity as a&#10;complete dataset moves between a directory and an HDF5 container.&lt;/p&gt;&#10;&lt;p&gt;This guide constructs a dataset with an external Array, writes a complete&#10;package, retrieves its numerical contents, and transfers the package. The&#10;&lt;a href="https://marianettigroup.github.io/data-canon/docs/guides/identity-and-fingerprinting/"&gt;Identity and Fingerprinting guide&lt;/a&gt;&#10;explains what its identifier covers.&lt;/p&gt;</description></item><item><title>Conventional Types</title><link>https://marianettigroup.github.io/data-canon/docs/guides/conventional-types/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://marianettigroup.github.io/data-canon/docs/guides/conventional-types/</guid><description>&lt;p&gt;DataCanon implementations connect DataCanon Instances (DCIs) with instances of &lt;strong&gt;conventional types&lt;/strong&gt;&#10;in a programming language. Conventional types include built-in types, types&#10;provided by libraries, and user-defined types used directly for data and&#10;computation. Python examples include &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;fractions.Fraction&lt;/code&gt;, and&#10;&lt;code&gt;numpy.ndarray&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;A DataCanon Type (DCT) defines information, invariants, and equality. A&#10;DCI is an instance of a DCT. The Python implementation&#10;represents DCIs using classes such as &lt;code&gt;ListDC&lt;/code&gt; and &lt;code&gt;FractionDC&lt;/code&gt;. A &lt;code&gt;ListDC&lt;/code&gt;&#10;object and a conventional &lt;code&gt;list&lt;/code&gt; object are both Python objects, but belong to&#10;&lt;strong&gt;different types with different rules&lt;/strong&gt;. Conversion connects the types; it&#10;does not make their semantics identical.&lt;/p&gt;</description></item><item><title>Shorthand Preprocessing</title><link>https://marianettigroup.github.io/data-canon/docs/guides/shorthand-preprocessing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://marianettigroup.github.io/data-canon/docs/guides/shorthand-preprocessing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;&#10;&lt;p&gt;Shorthand preprocessing provides three conveniences for entering scientific&#10;data by hand: compact List notation, named textual substitutions, and scalar&#10;mathematical evaluation with &lt;code&gt;eval(...)&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;Preprocessing transforms text into strict Shorthand. Parsing that text then&#10;constructs a DataCanon Instance (DCI). This guide introduces each feature separately&#10;before showing how they work together.&lt;/p&gt;&#10;&lt;h2 id="start-with-one-compact-list"&gt;Start with one compact List&lt;/h2&gt;&#10;&lt;p&gt;Ordinary Shorthand Lists use brackets and commas:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[1, 2, 3]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Compact notation lets you enter the same List using angle brackets and spaces:&lt;/p&gt;</description></item><item><title>Custom Conversion Rules</title><link>https://marianettigroup.github.io/data-canon/docs/guides/custom-conversions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://marianettigroup.github.io/data-canon/docs/guides/custom-conversions/</guid><description>&lt;p&gt;DataCanon Records let applications describe structured values without adding&#10;new DataCanon Types. An application can define a Record convention and supply&#10;explicit rules connecting that Record to a conventional type.&lt;/p&gt;&#10;&lt;p&gt;A calendar date is a useful example. Python provides &lt;code&gt;datetime.date&lt;/code&gt;, but DC&#10;need not prescribe a calendar, year range, or date arithmetic. The application&#10;can make those choices and store the necessary information in a Record.&lt;/p&gt;&#10;&lt;p&gt;This guide defines an illustrative &lt;code&gt;&amp;quot;example.Date&amp;quot;&lt;/code&gt; convention. The name is&#10;application data, not a built-in DC type or a universally prescribed date format.&lt;/p&gt;</description></item><item><title>Command-Line Interface</title><link>https://marianettigroup.github.io/data-canon/docs/guides/cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://marianettigroup.github.io/data-canon/docs/guides/cli/</guid><description>&lt;p&gt;The &lt;code&gt;dc&lt;/code&gt; command loads a DataCanon file and displays, converts, searches, or&#10;selects items from its DCI. It works with Shorthand (&lt;code&gt;.dcs&lt;/code&gt;), canonical binary bytes (&lt;code&gt;.dcb&lt;/code&gt;), and&#10;DataCanon HDF5 files (&lt;code&gt;.h5&lt;/code&gt; or &lt;code&gt;.hdf5&lt;/code&gt;), and YAML interchange files&#10;(&lt;code&gt;.yml&lt;/code&gt; or &lt;code&gt;.yaml&lt;/code&gt;).&lt;/p&gt;&#10;&lt;p&gt;Put an input filename first, or omit it to read Shorthand from standard input.&#10;With no action option, &lt;code&gt;dc&lt;/code&gt; prints Shorthand:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dc structure.dcb&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="installation-and-completion"&gt;Installation and completion&lt;/h2&gt;&#10;&lt;p&gt;Installing the Python package installs the &lt;code&gt;dc&lt;/code&gt; command in the same environment.&#10;Activate that environment before using it. For a development installation from&#10;the code repository:&lt;/p&gt;</description></item></channel></rss>