sig
  type t
  val name : Package.t -> string
  val version : Package.t -> string option
  val create : ?version:string -> string -> Package.t
  val of_string : string -> Package.t
  val to_string : Package.t -> string
  val equal : Package.t -> Package.t -> bool
  val json : Package.t Jsont.codec
  val pp : Package.t Fmt.t
  type info
  val info : opam:Cstruct.t -> url:Cstruct.t -> Package.info
  val opam : Package.info -> Cstruct.t
  val url : Package.info -> Cstruct.t
  val pp_info : Package.info Fmt.t
  val json_info : Package.info Jsont.codec
end