[console_scripts]
knockoff=knockoff.cli_v2:main

[knockoff.cli.command]
legacy=knockoff.cli:main
run=knockoff.command.run:main
version=knockoff.command.version:main

[knockoff.factory.component.function]
numpy.random.poisson=numpy.random:poisson

[knockoff.factory.sink.dump_strategy]
noop=knockoff.utilities.mixin:noop
parquet=knockoff.writer.pandas:to_parquet
sql=knockoff.writer.pandas:to_sql

[knockoff.factory.source.component.load_strategy]
autoincrement=knockoff.factory.component:load_autoincrement
faker=knockoff.factory.counterfeit:load_faker_component_generator
function=knockoff.utilities.mixin:noop
knockoff=knockoff.utilities.mixin:noop

[knockoff.factory.source.part.load_strategy]
cartesian-product=knockoff.factory.part:cartesian_product_strategy
concat=knockoff.factory.part:concat_strategy
faker=knockoff.factory.counterfeit:load_faker
inline=knockoff.factory.part:read_part_inline
io=knockoff.io:load_strategy_io
period=knockoff.factory.part:generate_part_periods

[knockoff.factory.source.prototype.load_strategy]
components=knockoff.factory.prototype:load_prototype_from_components
concat=knockoff.factory.part:concat_strategy
io=knockoff.io:load_strategy_io

[knockoff.factory.source.table.load_strategy]
io=knockoff.io:load_strategy_io
knockoff=knockoff.factory.table:load_knockoff

[knockoff.io.readers]
inline=knockoff.io:read_inline
pandas.read_csv=pandas:read_csv
pandas.read_json=pandas:read_json
pandas.read_parquet=pandas:read_parquet
read_multi_parquet=knockoff.io:read_multi_parquet
sql=knockoff.io:read_sql

