diff --git a/previews/PR159/index.html b/previews/PR159/index.html index ba76f3c..69b140f 100644 --- a/previews/PR159/index.html +++ b/previews/PR159/index.html @@ -15,7 +15,7 @@ RecordDatabase{Base.UUID, Record} with 3 entries: UUID("921c777a-0cc6-44da… => Record… UUID("58c55701-0362-40c7… => Record… - UUID("552ef675-5c7b-4ce1… => Record…source

Taxons

using Taxonomy, AbstractTrees
+  UUID("552ef675-5c7b-4ce1… => Record…
source

Taxons

using Taxonomy, AbstractTrees
 AbstractTrees.children(d::DataType) = subtypes(d)
 print_tree(Taxonomy.Taxon)
 Taxon
@@ -27,7 +27,7 @@
 ├─ AbstractPathmodel
 │  └─ Structural
 └─ NoAbstractTaxon
-   └─ NoTaxon
Taxonomy.TaxonType

Taxon is the supertype of all taxons.

source

CFA

Taxonomy.MeasurementType

Measurement AbstractCFA. Building Block for Taxonomy. Multiple Measurements can be combined to a Taxon.

Arguments

  • n_variables: Number of variables (possibly observed/manifest). If items are parceled, this is the number of parcels.
  • loadings: Vector of loadings, one for each item.
  • factor_variance: Variance of the factor.
  • error_variances: Vector of variances of the respective errors
  • error_covariances_within: Vector of covariances within factor. If unknown, set to missing, if there are no covariances, set to Float64[].
  • error_covariances_between: Vector of covariances the factor shares with a different factor. If unknown, set to missing, if there are no covariances, set to Float64[].
  • crossloadings_incoming: Vector of crossloadings coming from other factors. They should be lower than the loading coming to the item from this factor. If unknown, set to missing, if there are none, set to Float64[].
  • crossloadings_outgoing: Vector of crossloadings going to other items which have higher loadings from other factors. If unknown, set to missing, if there are none, set to Float64[].
  • quest_scale: Scale of the questionnaire. Anything more than ten is Inf. E.g: 5 point likert scale -> 5.
Measurement(n_variables = 2, loadings = [1, 0.4], factor_variance = 0.6, quest_scale = 5)
+   └─ NoTaxon

CFA

Taxonomy.MeasurementType

Measurement AbstractCFA. Building Block for Taxonomy. Multiple Measurements can be combined to a Taxon.

Arguments

  • n_variables: Number of variables (possibly observed/manifest). If items are parceled, this is the number of parcels.
  • loadings: Vector of loadings, one for each item.
  • factor_variance: Variance of the factor.
  • error_variances: Vector of variances of the respective errors
  • error_covariances_within: Vector of covariances within factor. If unknown, set to missing, if there are no covariances, set to Float64[].
  • error_covariances_between: Vector of covariances the factor shares with a different factor. If unknown, set to missing, if there are no covariances, set to Float64[].
  • crossloadings_incoming: Vector of crossloadings coming from other factors. They should be lower than the loading coming to the item from this factor. If unknown, set to missing, if there are none, set to Float64[].
  • crossloadings_outgoing: Vector of crossloadings going to other items which have higher loadings from other factors. If unknown, set to missing, if there are none, set to Float64[].
  • quest_scale: Scale of the questionnaire. Anything more than ten is Inf. E.g: 5 point likert scale -> 5.
Measurement(n_variables = 2, loadings = [1, 0.4], factor_variance = 0.6, quest_scale = 5)
 
 # output
 
@@ -40,14 +40,14 @@
    error_covariances_between: JudgementVecNumber{Missing}
    crossloadings_incoming: JudgementVecNumber{Missing}
    crossloadings_outgoing: JudgementVecNumber{Missing}
-   quest_scale: JudgementNumber{Int64}
source

Pathmodels

Taxonomy.StructuralType

Structural AbstractPathmodel. Consists of a graph from StenoGraphs (structural model).

Arguments

  • structural_model: Graph from StenoGraphs package. Defines the latent relations between the factors of measurement_model.
using StenoGraphs
+   quest_scale: JudgementNumber{Int64}
source

Pathmodels

Taxonomy.StructuralType

Structural AbstractPathmodel. Consists of a graph from StenoGraphs (structural model).

Arguments

  • structural_model: Graph from StenoGraphs package. Defines the latent relations between the factors of measurement_model.
using StenoGraphs
 
 graph = @StenoGraph begin
     # latent regressions
     fac1 → fac2
 end
 
-Structural(structural_model = graph)
source
Taxonomy.LatentPathmodelType

Create a new LatentPathmodel instance.

for indexing: mymodel.structuralmodel.structuralmodel mymodel.measurement_model[:fac2]

using StenoGraphs
+Structural(structural_model = graph)
source
Taxonomy.LatentPathmodelType

Create a new LatentPathmodel instance.

for indexing: mymodel.structuralmodel.structuralmodel mymodel.measurement_model[:fac2]

using StenoGraphs
 graph = @StenoGraph begin
     # latent regressions
     fac1 → fac2
@@ -65,7 +65,7 @@
 
 LatentPathmodel
    structural_model: Structural
-   measurement_model: Dict{Symbol, Measurement}
source

Cross Lagged Panel Model

Linear Growth Curve Model

Taxonomy.SimpleLGCMType

SimpleLGCM AbstractLGCM. Taxon for Linear Growth Curve Model.

## Arguments
  • n_timepoints: Number of measurement timepoints.
  • timecoding: Vector containing the coding of the measurement time points (loadings of the slope onto the timepoints).
  • intercept: Intercept constant.
  • slope: Slope constant.
  • nonlinear_timecoding: Vector for the timecodings introduced by a nonlinear function.
  • variance_intercept: Variance of the intercept.
  • variance_slope: Variance of the slope.
  • covariance_intercept_slope: Covariance between intercept and slope.
  • variances_timepoints: Vector with variances of the timepoint variables.
  • n_predictors: Number of predictors on intercept and slope.
  • predictor_paths_intercept: Vector for the predictor-paths to the intercept.
  • predictor_paths_slope: Vector for the predictor-paths to the slope.
SimpleLGCM(n_timepoints = 6, timecoding = [0, 1, 2, 3, 4, 5], intercept = 10.2, 
+   measurement_model: Dict{Symbol, Measurement}
source

Cross Lagged Panel Model

Linear Growth Curve Model

Taxonomy.SimpleLGCMType

SimpleLGCM AbstractLGCM. Taxon for Linear Growth Curve Model.

## Arguments
  • n_timepoints: Number of measurement timepoints.
  • timecoding: Vector containing the coding of the measurement time points (loadings of the slope onto the timepoints).
  • intercept: Intercept constant.
  • slope: Slope constant.
  • nonlinear_timecoding: Vector for the timecodings introduced by a nonlinear function.
  • variance_intercept: Variance of the intercept.
  • variance_slope: Variance of the slope.
  • covariance_intercept_slope: Covariance between intercept and slope.
  • variances_timepoints: Vector with variances of the timepoint variables.
  • n_predictors: Number of predictors on intercept and slope.
  • predictor_paths_intercept: Vector for the predictor-paths to the intercept.
  • predictor_paths_slope: Vector for the predictor-paths to the slope.
SimpleLGCM(n_timepoints = 6, timecoding = [0, 1, 2, 3, 4, 5], intercept = 10.2, 
 slope = 0.96, nonlinear_timecoding = [1, 2, 4, 9, 16, 25], variance_intercept = 1, variance_slope = 1, covariance_intercept_slope = 0.1,
 n_predictors = 2, predictor_paths_intercept = [2, 4], predictor_paths_slope = [3, 5])
 
@@ -82,16 +82,16 @@
    variances_timepoints: JudgementNumber{Missing}
    n_predictors: JudgementInt{Int64}
    predictor_paths_intercept: JudgementVecNumber{Vector{Int64}}
-   predictor_paths_slope: JudgementVecNumber{Vector{Int64}}
source

No Taxon

Taxonomy.NoTaxonEverType

NoTaxonEver()

A Taxon to show, that there is no SEM to code in this paper.

julia> NoTaxonEver()
+   predictor_paths_slope: JudgementVecNumber{Vector{Int64}}
source

No Taxon

Taxonomy.NoTaxonEverType

NoTaxonEver()

A Taxon to show, that there is no SEM to code in this paper.

julia> NoTaxonEver()
 NoTaxonEver
 
 julia> NoTaxon()
 NoTaxonEver
-
source
Taxonomy.NoTaxonYetType
NoTaxonYet()

A Taxon to show, that there is in fact a model to be coded, but this is at the current point not possible. NoTaxonYet requires a timestamp 'accessdate' to further specify at what point there were no possibility to code the respective model. NoTaxonYet gives you the option to name the 'modeltype', you were not able to code, to spare your future self the work of going everything through.

julia> NoTaxonYet()

source

Extractors

Taxonomy.NoTaxonYetType
NoTaxonYet()

A Taxon to show, that there is in fact a model to be coded, but this is at the current point not possible. NoTaxonYet requires a timestamp 'accessdate' to further specify at what point there were no possibility to code the respective model. NoTaxonYet gives you the option to name the 'modeltype', you were not able to code, to spare your future self the work of going everything through.

julia> NoTaxonYet()

source

Extractors

Taxonomy.structural_modelFunction

Function to extract the StenoGraphs structural model from [Structural].

Arguments

Return

Returns a Judgement

using Taxonomy
 using StenoGraphs
 
 graph = @StenoGraph begin
@@ -101,14 +101,14 @@
 
 struct_model = Structural(structural_model = graph)
 
-structural_model(struct_model)
source

Extract Structural part from a Taxon.

source

Levels

Taxonomy.RecordType
Record(j...; rater = missing, id = missing, location = missing, meta = missing)

Record represents every paper(like) thing that is coded. It contains who is rating it, what is being rated (uniquely identified by an id), where to find it (location) and other metadata (usually automatically infered). If id is missing, a warning will be generated and an ID will be suggested. This ID is linked to the location (either a DOI or URL). If no location is provided, the ID will be generated at random. You can use this suggested ID or generate your own using generate_id(DOI("yourdoi")) or generate_id(url("yoururl")).

source
Taxonomy.StudyType
Study()

Use this function to group together multiple Judgements and/or Taxons on the Study level.

Return: Output value will be a dictionary containing StudyJudgements and/or Taxons.

source
Taxonomy.ModelType
Model()

Use this function to group together multiple Judgements and/or Taxons on the Model level.

Return: Output value will be a dictionary containing ModelJudgements and/or Taxons.

source

ID

Taxonomy.generate_idFunction

Generate an Entry ID

To create links between entries we need a stable reference point. This ID is generated initially from url(location) and if the url is missing, it is generated randomly. After the ID is generated once, it is saved with the Record and should not be changed.

source

Judgement

Taxonomy.Judgements.JudgementType
Judgement(r::Union{<: Any, Missing}, c = 1.0, l = missing})

Level: Taxonomy.Judgements.AnyLevelJudgement

A generic judgment without any checks on content.

Arguments

  • rating: The rating, e.g. "Structural" or 1.0.
  • certainty: If uncertain, a number between 0.0 and 1.0 (0-100%)
  • comment: information on why the judgement was made, may contain information about the source within the paper, e.g., section, page, table number, figure number.
julia> Judgement(1.0, .99, "Figure 1");
source
Taxonomy.Judgements.NoJudgementFunction

Abstaining from any judgement.

This implies that your best guess is missing and you are absolutely uncertain about this judgement.

julia> NoJudgement()
-Judgement{Missing}(missing, 0.0, missing)
source
Taxonomy.Judgements.ratingFunction

Extract rating from Judgement.

If rating is called on a Judgement it returns the rating, on everything it returns identity. If rating is called on a JudgementLevel together with a field name, it returns the rating of that field.

source

Metadata

Taxonomy.MetaDataFunction

Save metadata.

Can be from complete minimal metadata, incomplete metadata or preferably from DOI.

julia> min = MetaData("Peikert, Aaron", 2022, "Journal of Statistical Software");
+structural_model(struct_model)
source

Extract Structural part from a Taxon.

source

Levels

Taxonomy.RecordType
Record(j...; rater = missing, id = missing, location = missing, meta = missing)

Record represents every paper(like) thing that is coded. It contains who is rating it, what is being rated (uniquely identified by an id), where to find it (location) and other metadata (usually automatically infered). If id is missing, a warning will be generated and an ID will be suggested. This ID is linked to the location (either a DOI or URL). If no location is provided, the ID will be generated at random. You can use this suggested ID or generate your own using generate_id(DOI("yourdoi")) or generate_id(url("yoururl")).

source
Taxonomy.StudyType
Study()

Use this function to group together multiple Judgements and/or Taxons on the Study level.

Return: Output value will be a dictionary containing StudyJudgements and/or Taxons.

source
Taxonomy.ModelType
Model()

Use this function to group together multiple Judgements and/or Taxons on the Model level.

Return: Output value will be a dictionary containing ModelJudgements and/or Taxons.

source

ID

Taxonomy.generate_idFunction

Generate an Entry ID

To create links between entries we need a stable reference point. This ID is generated initially from url(location) and if the url is missing, it is generated randomly. After the ID is generated once, it is saved with the Record and should not be changed.

source

Judgement

Taxonomy.Judgements.JudgementType
Judgement(r::Union{<: Any, Missing}, c = 1.0, l = missing})

Level: Taxonomy.Judgements.AnyLevelJudgement

A generic judgment without any checks on content.

Arguments

  • rating: The rating, e.g. "Structural" or 1.0.
  • certainty: If uncertain, a number between 0.0 and 1.0 (0-100%)
  • comment: information on why the judgement was made, may contain information about the source within the paper, e.g., section, page, table number, figure number.
julia> Judgement(1.0, .99, "Figure 1");
source
Taxonomy.Judgements.NoJudgementFunction

Abstaining from any judgement.

This implies that your best guess is missing and you are absolutely uncertain about this judgement.

julia> NoJudgement()
+Judgement{Missing}(missing, 0.0, missing)
source
Taxonomy.Judgements.ratingFunction

Extract rating from Judgement.

If rating is called on a Judgement it returns the rating, on everything it returns identity. If rating is called on a JudgementLevel together with a field name, it returns the rating of that field.

source

Metadata

Taxonomy.MetaDataFunction

Save metadata.

Can be from complete minimal metadata, incomplete metadata or preferably from DOI.

julia> min = MetaData("Peikert, Aaron", 2022, "Journal of Statistical Software");
 
 julia> incomplete = MetaData("Peikert, Aaron", 2022, missing);
 
 julia> extensive = MetaData(DOI("10.5281/zenodo.6719627"));
-
source
Taxonomy.apaFunction

Get an APA citation.

julia> apa(DOI("10.5281/zenodo.6719627"))
-"Ernst, M. S., &amp; Peikert, A. (2022). <i>StructuralEquationModels.jl</i> (Version v0.1.0) [Computer software]. Zenodo. https://doi.org/10.5281/ZENODO.6719627"
source
Taxonomy.apaFunction

Get an APA citation.

julia> apa(DOI("10.5281/zenodo.6719627"))
+"Ernst, M. S., &amp; Peikert, A. (2022). <i>StructuralEquationModels.jl</i> (Version v0.1.0) [Computer software]. Zenodo. https://doi.org/10.5281/ZENODO.6719627"
source
Taxonomy.jsonFunction

Get a Citeproc JSON.

CSL JSON Documentation

CSL JSON can be read by Zotero and automatically generated by doi.org from DOI. All availible information are included and saved in a Dict.

julia> json(DOI("10.5281/zenodo.6719627"))
 Dict{String, Any} with 11 entries:
   "publisher" => "Zenodo"
   "issued"    => Dict{String, Any}("date-parts"=>Any[Any[2022, 6, 24]])
@@ -120,33 +120,33 @@
   "URL"       => "https://zenodo.org/record/6719627"
   "title"     => "StructuralEquationModels.jl"
   "abstract"  => "StructuralEquationModels v0.1.0 This is a package for Structu…
-  "type"      => "book"
source
Taxonomy.authorFunction

Extract the author.

julia> doi = MetaData(DOI("10.1126/SCIENCE.169.3946.635"));
+  "type"      => "book"
source
Taxonomy.authorFunction

Extract the author.

julia> doi = MetaData(DOI("10.1126/SCIENCE.169.3946.635"));
 
 julia> author(doi)
-"Frank, Henry S."
source
Taxonomy.yearFunction

Extract the year.

julia> doi = MetaData(DOI("10.1126/SCIENCE.169.3946.635"));
+"Frank, Henry S."
source
Taxonomy.yearFunction

Extract the year.

julia> doi = MetaData(DOI("10.1126/SCIENCE.169.3946.635"));
 
 julia> year(doi)
-1970
source
Taxonomy.journalFunction

Extract the journal.

julia> doi = MetaData(DOI("10.1126/SCIENCE.169.3946.635"));
+1970
source
Taxonomy.journalFunction

Extract the journal.

julia> doi = MetaData(DOI("10.1126/SCIENCE.169.3946.635"));
 
 julia> journal(doi)
-"Science"
source
Taxonomy.MinimalMetaType

A representation of the most important metadata.

julia> min = MetaData("Peikert, Aaron", 2022, "Journal of Statistical Software");
+"Science"
source
Taxonomy.MinimalMetaType

A representation of the most important metadata.

julia> min = MetaData("Peikert, Aaron", 2022, "Journal of Statistical Software");
 
 julia> typeof(min)
-MinimalMeta
source
Taxonomy.IncompleteMetaType

A representation of Metadata when we can not even capture the most important metadata.

julia> incomplete = MetaData(missing, 2022, "Journal of Statistical Software");
+MinimalMeta
source
Taxonomy.IncompleteMetaType

A representation of Metadata when we can not even capture the most important metadata.

julia> incomplete = MetaData(missing, 2022, "Journal of Statistical Software");
 
 julia> typeof(incomplete)
-IncompleteMeta
source
Taxonomy.ExtensiveMetaType

The metadata we can gather from doi.org.

julia> doi = MetaData(DOI("10.1126/SCIENCE.169.3946.635"));
 
 julia> typeof(doi)
-ExtensiveMeta{MinimalMeta}
source

DOI

Taxonomy.UsualDOIType

Construct a validated DOI

Most valid DOIs (not all) can be simply validated via a regular expression.

Arguments

  • doi::String: a DOI without resolver (e.g. without doi.org), capitalization does not matter
  • fallback::String: an optional fallback link where one maybe can find the content in case the doi fails
julia> DOI("10.5281/zenodo.6719627")
+ExtensiveMeta{MinimalMeta}
source

DOI

Taxonomy.UsualDOIType

Construct a validated DOI

Most valid DOIs (not all) can be simply validated via a regular expression.

Arguments

  • doi::String: a DOI without resolver (e.g. without doi.org), capitalization does not matter
  • fallback::String: an optional fallback link where one maybe can find the content in case the doi fails
julia> DOI("10.5281/zenodo.6719627")
 UsualDOI{String, Missing}("10.5281/ZENODO.6719627", missing)
 
 julia> DOI("10.5281/zenodo.6719627", "https://github.com/StructuralEquationModels/StructuralEquationModels.jl")
-UsualDOI{String, String}("10.5281/ZENODO.6719627", "https://github.com/StructuralEquationModels/StructuralEquationModels.jl")
source
Taxonomy.UnusualDOIType

Construct an unvalidated DOI

You should prefer an validated UsualDOI but if you have tested the DOI and are sure it links were it supposed to link, go ahead and create an unvalidated doi.

julia> UnusualDOI("weird10.5281doi/zenodo.6719627")
+UsualDOI{String, String}("10.5281/ZENODO.6719627", "https://github.com/StructuralEquationModels/StructuralEquationModels.jl")
source
Taxonomy.UnusualDOIType

Construct an unvalidated DOI

You should prefer an validated UsualDOI but if you have tested the DOI and are sure it links were it supposed to link, go ahead and create an unvalidated doi.

julia> UnusualDOI("weird10.5281doi/zenodo.6719627")
 UnusualDOI{String, Missing}("WEIRD10.5281DOI/ZENODO.6719627", missing)
 
 julia> UnusualDOI("weird10.5281doi/zenodo.6719627", "https://github.com/StructuralEquationModels/StructuralEquationModels.jl")
-UnusualDOI{String, String}("WEIRD10.5281DOI/ZENODO.6719627", "https://github.com/StructuralEquationModels/StructuralEquationModels.jl")
source
Taxonomy.NoDOIType

What to do if there is no doi

Last resort if there is no DOI. Than we save other metadata, similar to BibTex.

Arguments

  • url::String: an link where one maybe can find the content in case the doi fails
  • author::String: like in BibTex, e.g. "Peikert, Aaron and Ernst, Maximilian S. and Bode, Clifford"
  • date::Union{Date, Missing}: optional date
  • year::Union{Int64}: optional if date is supplied
  • journal::String: The outlet of the publication
  • other::Dict: more BibTexlike metadata
NoDOI(
+UnusualDOI{String, String}("WEIRD10.5281DOI/ZENODO.6719627", "https://github.com/StructuralEquationModels/StructuralEquationModels.jl")
source
Taxonomy.NoDOIType

What to do if there is no doi

Last resort if there is no DOI. Than we save other metadata, similar to BibTex.

Arguments

  • url::String: an link where one maybe can find the content in case the doi fails
  • author::String: like in BibTex, e.g. "Peikert, Aaron and Ernst, Maximilian S. and Bode, Clifford"
  • date::Union{Date, Missing}: optional date
  • year::Union{Int64}: optional if date is supplied
  • journal::String: The outlet of the publication
  • other::Dict: more BibTexlike metadata
NoDOI(
     url = "https://github.com/StructuralEquationModels/StructuralEquationModels.jl",
     author = "Ernst, Maximilian Stefan and Peikert, Aaron",
     title = "StructuralEquationModels.jl: A fast and flexible SEM framework",
@@ -162,7 +162,7 @@
     title = "StructuralEquationModels.jl: A fast and flexible SEM framework",
     year = 2022, # date is omitted
     journal = "No Real Journal"
-)
source
Taxonomy.urlFunction

Get URL from location.

julia> url(DOI("10.1126/SCIENCE.169.3946.635"))
+)
source
Taxonomy.urlFunction

Get URL from location.

julia> url(DOI("10.1126/SCIENCE.169.3946.635"))
 "https://doi.org/10.1126/SCIENCE.169.3946.635"
location = NoDOI(
     url = "https://github.com/StructuralEquationModels/StructuralEquationModels.jl",
     author = "Ernst, Maximilian Stefan and Peikert, Aaron",
@@ -175,4 +175,4 @@
 
 # output
 
-"https://github.com/StructuralEquationModels/StructuralEquationModels.jl"
source
Taxonomy.valid_doiFunction

Validate DOI via Regex

Regular expression taken from:

https://www.crossref.org/blog/dois-and-matching-regular-expressions/

source
+"https://github.com/StructuralEquationModels/StructuralEquationModels.jl"source
Taxonomy.valid_doiFunction

Validate DOI via Regex

Regular expression taken from:

https://www.crossref.org/blog/dois-and-matching-regular-expressions/

source
diff --git a/previews/PR159/search/index.html b/previews/PR159/search/index.html index 50fab11..13ce73c 100644 --- a/previews/PR159/search/index.html +++ b/previews/PR159/search/index.html @@ -1,2 +1,2 @@ -Search · Taxonomy.jl

Loading search...

    +Search · Taxonomy.jl

    Loading search...

      diff --git a/previews/PR159/tutorials/judgement/index.html b/previews/PR159/tutorials/judgement/index.html index a305fc0..1c02f08 100644 --- a/previews/PR159/tutorials/judgement/index.html +++ b/previews/PR159/tutorials/judgement/index.html @@ -12,4 +12,4 @@ x -> x in ["open", "closed", "none"] ? nothing : throw(ArgumentError("Not an agreed upon value.")) ) Access("open") -Access("not open")

      By default, Judments are assumed to be unique, i.e., there can only be one. If specified more than once, such a Judgement will throw an error. Judgements with unique = false are gathered into a vector.

      +Access("not open")

      By default, Judments are assumed to be unique, i.e., there can only be one. If specified more than once, such a Judgement will throw an error. Judgements with unique = false are gathered into a vector.

      diff --git a/previews/PR159/tutorials/missing/index.html b/previews/PR159/tutorials/missing/index.html index 067a024..ef90922 100644 --- a/previews/PR159/tutorials/missing/index.html +++ b/previews/PR159/tutorials/missing/index.html @@ -58,4 +58,4 @@ id: Base.UUID location: NoLocation meta: IncompleteMeta - judgements: Dict{Symbol, Vector{Union{Study, AbstractJudgement}}} + judgements: Dict{Symbol, Vector{Union{Study, AbstractJudgement}}} diff --git a/previews/PR159/tutorials/software-versions/index.html b/previews/PR159/tutorials/software-versions/index.html index 1b43fb8..08e440b 100644 --- a/previews/PR159/tutorials/software-versions/index.html +++ b/previews/PR159/tutorials/software-versions/index.html @@ -2,4 +2,4 @@ Installing, Updating, and Versioning Taxonomy.jl · Taxonomy.jl

      Tutorial: Installing, Updating, and Versioning Taxonomy.jl

      This tutorial provides a detailed guide on installing the Taxonomy.jl package, obtaining a specific version of the package by using a commit hash, and implementing bug fixes through branching. Additionally, we will also discuss the role of Manifest.toml and Project.toml files in package versioning.

      Installing the Newest Version of the Package

      To install the newest version of Taxonomy.jl, you can use Julia's package manager. Open the Julia REPL and run the following commands:

      import Pkg
       using Pkg
       Pkg.add(url = "https://github.com/formal-methods-mpi/Taxonomy.jl")

      Using Pkg.instantiate to Set Up the Environment

      When working with Julia packages, it is often important to ensure that your environment is consistent with the project's specifications. This is particularly crucial when you are working on a project that has a specific set of dependencies. The Pkg.instantiate() command helps in setting up such an environment.

      Use the following command in Julia to instantiate the environment:

      using Pkg
      -Pkg.instantiate()

      In short:Pkg.instantiate() installs the dependencies that are specified in the Project.toml and Manifest.toml files of a project.

      Installing the Version of One Commit in the Package's History

      If you want to install a specific version of Taxonomy.jl corresponding to a particular commit, you can do so by specifying the commit hash. To find the commit hash, go to the Taxonomy.jl GitHub repository, click on the commit, and copy the hash.

      Use the following command to add the package based on the commit hash:

      Pkg.add(url="https://github.com/formal-methods-mpi/Taxonomy.jl", rev="commit_hash_here")

      Replace commit_hash_here with the actual hash of the commit you are interested in.

      Implementing Bug Fixes by Branching from the Main Branch

      If you need to implement bug fixes, you can create a new branch from the main branch of the repository, make your changes, and install the package from that branch.

      1. Fork the Taxonomy.jl repository to your account.
      2. Clone the repository to your local machine.
      3. Create a new branch: git checkout -b bugfix_branch.
      4. Make your changes and commit them.
      5. Push the branch to your GitHub repository: git push origin bugfix_branch.
      6. To install this branch as your version of the package, use:
      Pkg.add(url="https://github.com/your_username/Taxonomy.jl", rev="bugfix_branch")

      Replace your_username with your GitHub username.

      Relating to Manifest.toml and Project.toml

      Project.toml: This file contains metadata about the package, including its name, version, dependencies, and compatibility constraints. When you specify a version or branch, Julia uses the information in Project.toml to resolve dependencies.

      Manifest.toml: This file contains the exact versions of the dependencies that your package used. It enables reproducible environments by pinning each dependency to a specific version.

      When you install a package, Julia uses the Project.toml to determine which versions of the dependencies are compatible. It then generates or updates a Manifest.toml with the specific versions that were installed. This is crucial for ensuring that your environment is reproducible and that the package will work with the set of dependencies specified in the Manifest.toml. Pkg.instantiate() will take the Manifest.toml and ensures that exactly these versions are installed.

      +Pkg.instantiate()

      In short:Pkg.instantiate() installs the dependencies that are specified in the Project.toml and Manifest.toml files of a project.

      Installing the Version of One Commit in the Package's History

      If you want to install a specific version of Taxonomy.jl corresponding to a particular commit, you can do so by specifying the commit hash. To find the commit hash, go to the Taxonomy.jl GitHub repository, click on the commit, and copy the hash.

      Use the following command to add the package based on the commit hash:

      Pkg.add(url="https://github.com/formal-methods-mpi/Taxonomy.jl", rev="commit_hash_here")

      Replace commit_hash_here with the actual hash of the commit you are interested in.

      Implementing Bug Fixes by Branching from the Main Branch

      If you need to implement bug fixes, you can create a new branch from the main branch of the repository, make your changes, and install the package from that branch.

      1. Fork the Taxonomy.jl repository to your account.
      2. Clone the repository to your local machine.
      3. Create a new branch: git checkout -b bugfix_branch.
      4. Make your changes and commit them.
      5. Push the branch to your GitHub repository: git push origin bugfix_branch.
      6. To install this branch as your version of the package, use:
      Pkg.add(url="https://github.com/your_username/Taxonomy.jl", rev="bugfix_branch")

      Replace your_username with your GitHub username.

      Relating to Manifest.toml and Project.toml

      Project.toml: This file contains metadata about the package, including its name, version, dependencies, and compatibility constraints. When you specify a version or branch, Julia uses the information in Project.toml to resolve dependencies.

      Manifest.toml: This file contains the exact versions of the dependencies that your package used. It enables reproducible environments by pinning each dependency to a specific version.

      When you install a package, Julia uses the Project.toml to determine which versions of the dependencies are compatible. It then generates or updates a Manifest.toml with the specific versions that were installed. This is crucial for ensuring that your environment is reproducible and that the package will work with the set of dependencies specified in the Manifest.toml. Pkg.instantiate() will take the Manifest.toml and ensures that exactly these versions are installed.

      diff --git a/previews/PR159/tutorials/start/index.html b/previews/PR159/tutorials/start/index.html index ac7c6cd..3f8de22 100644 --- a/previews/PR159/tutorials/start/index.html +++ b/previews/PR159/tutorials/start/index.html @@ -57,4 +57,4 @@ id: Base.UUID location: NoDOI meta: MinimalMeta - judgements: Dict{Symbol, Vector{Union{Study, AbstractJudgement}}} + judgements: Dict{Symbol, Vector{Union{Study, AbstractJudgement}}}