[
  {
    "path": ".codecov.yml",
    "content": "comment: false\n"
  },
  {
    "path": ".github/workflows/jlpkgbutler-butler-workflow.yml",
    "content": "name: Run the Julia Package Butler\n\non:\n  push:\n    branches:\n      - main\n      - master\n  schedule:\n    - cron: '0 */1 * * *'\n  workflow_dispatch:\n\njobs:\n  butler:\n    name: \"Run Package Butler\"\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: davidanthoff/julia-pkgbutler@releases/v1\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          ssh-private-key: ${{ secrets.JLPKGBUTLER_TOKEN }}\n          channel: stable\n"
  },
  {
    "path": ".github/workflows/jlpkgbutler-ci-master-workflow.yml",
    "content": "name: Run CI on main\n\non:\n  push:\n    branches:\n      - main\n      - master\n  workflow_dispatch:\n\njobs:\n  test:\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        julia-version: ['1.0', '1.1', '1.2', '1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '1.9', '1.10']\n        julia-arch: [x64, x86]\n        os: [ubuntu-latest, windows-latest, macOS-latest]\n        exclude:\n          - os: macOS-latest\n            julia-arch: x86\n          - os: ubuntu-latest\n            julia-arch: x86\n            julia-version: 1.0.5\n          - os: ubuntu-latest\n            julia-arch: x86\n            julia-version: 1.1.1\n          - os: ubuntu-latest\n            julia-arch: x86\n            julia-version: 1.2.0\n\n    steps:\n      - uses: actions/checkout@v3\n      - uses: julia-actions/setup-julia@v1\n        with:\n          version: ${{ matrix.julia-version }}\n          arch: ${{ matrix.julia-arch }}\n      - uses: julia-actions/julia-buildpkg@v1\n        env:\n          PYTHON: \"\"\n      - uses: julia-actions/julia-runtest@v1\n        env:\n          PYTHON: \"\"\n      - uses: julia-actions/julia-processcoverage@v1\n      - uses: codecov/codecov-action@v3\n        with:\n          files: ./lcov.info\n          flags: unittests\n          token: ${{ secrets.CODECOV_TOKEN }}\n                    "
  },
  {
    "path": ".github/workflows/jlpkgbutler-ci-pr-workflow.yml",
    "content": "name: Run CI on PR\n\non:\n  pull_request:\n    types: [opened, synchronize, reopened]\n\njobs:\n  test:\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        julia-version: ['1.0', '1.1', '1.2', '1.3', '1.4', '1.5', '1.6', '1.7', '1.8', '1.9', '1.10']\n        julia-arch: [x64, x86]\n        os: [ubuntu-latest, windows-latest, macOS-latest]\n        exclude:\n          - os: macOS-latest\n            julia-arch: x86\n          - os: ubuntu-latest\n            julia-arch: x86\n            julia-version: 1.0.5\n          - os: ubuntu-latest\n            julia-arch: x86\n            julia-version: 1.1.1\n          - os: ubuntu-latest\n            julia-arch: x86\n            julia-version: 1.2.0\n\n    steps:\n      - uses: actions/checkout@v3\n      - uses: julia-actions/setup-julia@v1\n        with:\n          version: ${{ matrix.julia-version }}\n          arch: ${{ matrix.julia-arch }}\n      - uses: julia-actions/julia-buildpkg@v1\n        env:\n          PYTHON: \"\"\n      - uses: julia-actions/julia-runtest@v1\n        env:\n          PYTHON: \"\"\n      - uses: julia-actions/julia-processcoverage@v1\n      - uses: codecov/codecov-action@v3\n        with:\n          files: ./lcov.info\n          flags: unittests\n          token: ${{ secrets.CODECOV_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/jlpkgbutler-codeformat-pr-workflow.yml",
    "content": "name: Code Formatting\n\non:\n  push:\n    branches:\n      - main\n      - master\n  workflow_dispatch:\n\njobs:\n  format:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: julia-actions/julia-codeformat@releases/v1\n      - name: Create Pull Request\n        uses: peter-evans/create-pull-request@v3\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          commit-message: Format files using DocumentFormat\n          title: '[AUTO] Format files using DocumentFormat'\n          body: '[DocumentFormat.jl](https://github.com/julia-vscode/DocumentFormat.jl) would suggest these formatting changes'\n          labels: no changelog\n"
  },
  {
    "path": ".github/workflows/jlpkgbutler-compathelper-workflow.yml",
    "content": "name: Run CompatHelper\n\non:\n  schedule:\n    - cron: '00 * * * *'\n  issues:\n    types: [opened, reopened]\n  workflow_dispatch:\n\njobs:\n  CompatHelper:\n    name: \"Run CompatHelper.jl\"\n    runs-on: ubuntu-latest\n    steps:\n      - name: Pkg.add(\"CompatHelper\")\n        run: julia -e 'using Pkg; Pkg.add(\"CompatHelper\")'\n      - name: CompatHelper.main()\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        run: julia -e 'using CompatHelper; CompatHelper.main()'\n"
  },
  {
    "path": ".github/workflows/jlpkgbutler-docdeploy-workflow.yml",
    "content": "name: Deploy documentation\n\non:\n  push:\n    branches:\n      - main\n      - master\n    tags:\n      - v*\n  workflow_dispatch:\n\njobs:\n  docdeploy:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: julia-actions/julia-buildpkg@v1\n        env:\n          PYTHON: \"\"\n      - uses: julia-actions/julia-docdeploy@latest\n        env:\n          DOCUMENTER_KEY: ${{ secrets.JLPKGBUTLER_TOKEN }}\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n"
  },
  {
    "path": ".github/workflows/jlpkgbutler-tagbot-workflow.yml",
    "content": "name: TagBot\non:\n  issue_comment:\n    types:\n      - created\n  workflow_dispatch:\n\njobs:\n  TagBot:\n    if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'\n    runs-on: ubuntu-latest\n    steps:\n      - uses: JuliaRegistries/TagBot@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          ssh: ${{ secrets.JLPKGBUTLER_TOKEN }}\n          branches: true\n"
  },
  {
    "path": ".gitignore",
    "content": "*.jl.cov\n*.jl.*.cov\n*.jl.mem\nManifest.toml\n.vscode\n"
  },
  {
    "path": ".jlpkgbutler.toml",
    "content": "template = \"bach\"\nstrategy-matrix-exclude = \"os: ubuntu-latest, julia-arch: x86, julia-version: 1.0.5; os: ubuntu-latest, julia-arch: x86, julia-version: 1.1.1; os: ubuntu-latest, julia-arch: x86, julia-version: 1.2.0;\"\n"
  },
  {
    "path": "LICENSE.md",
    "content": "The Queryverse.jl package is licensed under the MIT \"Expat\" License:\n\n> Copyright (c) 2017-2019: David Anthoff.\n> \n> \n> Permission is hereby granted, free of charge, to any person obtaining a copy\n> \n> of this software and associated documentation files (the \"Software\"), to deal\n> \n> in the Software without restriction, including without limitation the rights\n> \n> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n> \n> copies of the Software, and to permit persons to whom the Software is\n> \n> furnished to do so, subject to the following conditions:\n> \n> \n> \n> The above copyright notice and this permission notice shall be included in all\n> \n> copies or substantial portions of the Software.\n> \n> \n> \n> THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n> \n> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n> \n> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n> \n> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n> \n> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n> \n> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n> \n> SOFTWARE.\n> \n> \n"
  },
  {
    "path": "NEWS.md",
    "content": "# Queryverse.jl v1.0.0 Release Notes\n* Remove QueryTables.jl and add DataTables.jl\n* Update all minimal versions of all packages\n\n# Queryverse.jl v0.3.1 Release Notes\n* Make a test more robust\n\n# Queryverse.jl v0.3.0 Release Notes\n* Add QueryTables.jl\n\n# Queryverse.jl v0.2.0 Release Notes\n* Add ParquetFiles back into the mix\n\n# Queryverse.jl v0.1.0 Release Notes\n* Drop julia 0.6 support, add julia 0.7/1.0 support\n\n# Queryverse.jl v0.0.2 Release Notes\n* Fix bug in @tee macro\n\n# Queryverse.jl v0.0.1 Release Notes\n* Initial release\n"
  },
  {
    "path": "Project.toml",
    "content": "name = \"Queryverse\"\nuuid = \"612083be-0b0f-5412-89c1-4e7c75506a58\"\nversion = \"0.7.1-DEV\"\n\n[deps]\nCSVFiles = \"5d742f6a-9f54-50ce-8119-2520741973ca\"\nDataFrames = \"a93c6f00-e57d-5684-b7b6-d8193f3e46c0\"\nDataTables = \"743a1d0a-8ebc-4f23-814b-50d006366bc6\"\nDataValues = \"e7dc6d0d-1eca-5fa6-8ad6-5aecde8b7ea5\"\nDataVoyager = \"5721bf48-af8e-5845-8445-c9e18126e773\"\nExcelFiles = \"89b67f3b-d1aa-5f6f-9ca4-282e8d98620d\"\nFeatherFiles = \"b675d258-116a-5741-b937-b79f054b0542\"\nFileIO = \"5789e2e9-d7fb-5bc7-8068-2c6fae9b9549\"\nIterableTables = \"1c8ee90f-4401-5389-894e-7a04a3dc0f4d\"\nParquetFiles = \"46a55296-af5a-53b0-aaa0-97023b66127f\"\nQuery = \"1a8c2f83-1ff3-5112-b086-8aa67b057ba1\"\nReexport = \"189a3867-3050-52da-a836-e630ba90ab69\"\nStatFiles = \"1463e38c-9381-5320-bcd4-4134955f093a\"\nVegaLite = \"112f6efa-9a02-5b7d-90c0-432ed331239a\"\n\n[compat]\nCSVFiles = \"1\"\nDataFrames = \"0.20, 0.21, 0.22, 1.0\"\nDataTables = \"0.1\"\nDataValues = \"0.4.4\"\nDataVoyager = \"0.3, 1\"\nExcelFiles = \"1\"\nFeatherFiles = \"0.8\"\nFileIO = \"1\"\nIterableTables = \"1\"\nParquetFiles = \"0.2\"\nQuery = \"0.12, 1.0\"\nReexport = \"0.2, 1\"\nStatFiles = \"0.8\"\nVegaLite = \"1, 2.0, 3\"\njulia = \"1\"\n\n[extras]\nTest = \"8dfed614-e22c-5e08-85e1-65c5234f0b40\"\n\n[targets]\ntest = [\"Test\"]\n"
  },
  {
    "path": "README.md",
    "content": "# Queryverse\n\n[![Project Status: Active - The project has reached a stable, usable state and is being actively developed.](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)\n[![Build Status](https://travis-ci.org/queryverse/Queryverse.jl.svg?branch=master)](https://travis-ci.org/queryverse/Queryverse.jl)\n[![Build status](https://ci.appveyor.com/api/projects/status/4bf4b25hr0b68xbm/branch/master?svg=true)](https://ci.appveyor.com/project/queryverse/queryverse-jl/branch/master)\n[![codecov.io](http://codecov.io/github/queryverse/Queryverse.jl/coverage.svg?branch=master)](http://codecov.io/github/queryverse/Queryverse.jl?branch=master)\n\n## Overview\n\nQueryverse.jl is a meta package that pulls together a number of packages for handling data in julia. You can learn more at https://www.queryverse.org/.\n\n## Installation\n\nYou can add the package with:\n````julia\npkg> add Queryverse\n````\n"
  },
  {
    "path": "docs/Project.toml",
    "content": "[deps]\nDocumenter = \"e30172f5-a6a5-5a46-863b-614d45cd2de4\"\n\n[compat]\nDocumenter = \"~0.24\"\n"
  },
  {
    "path": "docs/make.jl",
    "content": "using Documenter, Queryverse\n\nmakedocs(\n\tmodules=[Queryverse],\n\tsitename=\"Queryverse.jl\",\n\tanalytics=\"UA-132838790-1\",\n\tpages=[\n        \"Introduction\" => \"index.md\"\n    ]\n)\n\ndeploydocs(\n    repo=\"github.com/queryverse/Queryverse.jl.git\"\n)\n"
  },
  {
    "path": "docs/src/index.md",
    "content": "# Introduction\n"
  },
  {
    "path": "src/Queryverse.jl",
    "content": "module Queryverse\n\nusing Reexport\n\n@reexport using DataValues\nimport IterableTables\n@reexport using Query\n@reexport using DataTables\n@reexport using DataFrames\n@reexport using FileIO\n@reexport using ExcelFiles\n@reexport using StatFiles\n@reexport using CSVFiles\n@reexport using FeatherFiles\n@reexport using ParquetFiles\n@reexport using VegaLite\n@reexport using DataVoyager\n\nexport DV\n\nexport @tee\n\nmacro tee(ex)\n    quote\n        x -> begin\n            x |> $(esc(ex))\n            return x\n        end\n    end\nend\n\nconst DV = DataValues.DataValue\n\nend # module\n"
  },
  {
    "path": "test/runtests.jl",
    "content": "using Queryverse\nusing Test\n\n@testset \"Queryverse\" begin\n\n    df = load(joinpath(@__DIR__, \"testdata.csv\")) |>\n@query(i, begin\n        @select {i.Count, i.Year}\n    end) |>\n@tee(save(\"testoutput.csv\")) |>\n# @tee(begin\n#     data_values() |>\n#     mark_point() |>\n#     encoding_x_ord(:Year) |>\n#     encoding_y_quant(:Count) |>\n#     save(\"testoutput.pdf\")\n# end) |>\nDataFrame\n\n    @test size(df) == (2, 2)\n\n    io = IOBuffer()\n    f(x) = print(io, sum(x + x))\n    1:10 |> @tee(f) |> x -> print(io, \" \", sum(x))\n    @test String(take!(io)) == \"110 55\"\n\nend\n"
  },
  {
    "path": "test/testdata.csv",
    "content": "Year,Count\n2000,23.\n2001,254.\n"
  }
]