agent0 icon indicating copy to clipboard operation
agent0 copied to clipboard

Improve community standards

Open dpaiton opened this issue 2 years ago • 4 comments

The Community Standards page has suggestions for what we can add to the repo to improve the ability for others to contribute. I'd say the top priority now is filling out contributing.md. There are also lots of suggestions in the GitHub Best Practices page. To keep this issue concrete, I'll name these specific tasks:

  • [ ] fill in contributing doc
  • [ ] add PR template doc
  • [ ] add issue template docs
  • [ ] Add a commit template doc
  • [ ] Add a code of conduct doc
  • [ ] Add refs to the aboev docs in the README
  • [ ] Make a new issue with additional contributions

So that this issue doesn't live on forever, let's scope it to the above tasks and then when they're done make a new one with additional tasks. Here are some example additional tasks:

dpaiton avatar Apr 12 '23 22:04 dpaiton

always have """ alone on a new line image

wakamex avatar May 30 '23 21:05 wakamex

use r""" to start docstrings so that we can render backticks and other sphinxdoc stuff

wakamex avatar May 31 '23 13:05 wakamex

use r""" to start docstrings so that we can render backticks and other sphinxdoc stuff

I disagree, we have a whole lot of docstrings right now that don't start with r""", and I prefer the simpler approach. We can use r""" only when necessary (render backticks and sphinx docs).

wakamex avatar Oct 11 '23 19:10 wakamex

previous discussion around removing parantheses around tuples: https://github.com/delvtech/elf-simulations/pull/136#discussion_r1088280879

in our codebase as of Oct11, I see 64 examples of return without parentheses and 8 with

64 return statements without parentheses:

./lib/elfpy/elfpy/markets/borrow/borrow_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/borrow/borrow_market.py:        return agent_id, agent_deltas, market_deltas
./lib/elfpy/elfpy/markets/borrow/borrow_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/borrow/borrow_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/borrow/borrow_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/borrow/borrow_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/borrow/borrow_market_state.py:        return {key: value * self.collateral_spot_price[key] for key, value in self.collateral.items()}
./lib/elfpy/elfpy/markets/borrow/borrow_pricing_model.py:        return collateral_value_in_base, borrow_amount_in_base
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return agent_id, agent_deltas, market_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_market.py:        return market_deltas, wallet_deltas
./lib/elfpy/elfpy/markets/hyperdrive/yieldspace_pricing_model.py:        return lp_out, d_base, d_bonds
./lib/elfpy/elfpy/markets/hyperdrive/yieldspace_pricing_model.py:        return shares_delta, bonds_delta
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return lp_out, base_in, delta_bond_reserves
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return updated_share_reserves, updated_bond_reserves
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return market_deltas, agent_deltas
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_pricing_model.py:        return base, bonds
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_pricing_model.py:        return base, bonds
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_pricing_model.py:        return shares_delta, bonds_delta
./lib/elfpy/elfpy/utils/format.py:    return f"{value:,.{decimals}f}"
./lib/elfpy/elfpy/utils/outputs.py:    return fig, axes, grid_spec
./lib/elfpy/elfpy/utils/sim_utils.py:    return market, agent_deltas, market_deltas
./lib/elfpy/elfpy/utils/logs.py:    return log_dir, log_name
./lib/elfpy/tests/solidity/test_fees.py:    return curve_fee, flat_fee, gov_curve_fee, gov_flat_fee
./lib/ethpy/ethpy/hyperdrive/assets.py:    return prefix, timestamp
./lib/ethpy/ethpy/hyperdrive/deploy.py:    return base_token_contract, factory_contract
./lib/ethpy/ethpy/hyperdrive/deploy.py:    return mint_tx_receipt, approve_tx_receipt
./lib/ethpy/ethpy/hyperdrive/get_web3_and_hyperdrive_contracts.py:    return web3, base_token_contract, hyperdrive_contract
./lib/ethpy/ethpy/base/transactions.py:    return {f"value{idx}": value for idx, value in enumerate(return_values)}
./lib/ethpy/ethpy/base/transactions.py:    return {f"value{idx}": value for idx, value in enumerate(return_values)}
./lib/ethpy/ethpy/base/abi/load_abis.py:        return abis, bytecodes
./lib/ethpy/ethpy/base/abi/load_abis.py:            return data["abi"], data["bytecode"]["object"]
./lib/ethpy/ethpy/base/contract/deploy_contract.py:        return contract_addr, contract
./lib/ethpy/ethpy/base/receipts.py:            return event_data, event
./lib/chainsync/chainsync/db/hyperdrive/convert_data.py:    return out_transactions, out_wallet_deltas
./lib/chainsync/chainsync/db/hyperdrive/interface.py:    return_timestamp: bool = True,
./lib/chainsync/chainsync/db/hyperdrive/interface.py:    return_timestamp : bool, optional
./lib/chainsync/chainsync/db/hyperdrive/interface.py:    return_timestamp: bool = True,
./lib/chainsync/chainsync/db/hyperdrive/interface.py:    return_timestamp : bool, optional
./lib/agent0/agent0/hyperdrive/exec/execute_agent_trades.py:        return_exceptions=True,
./lib/agent0/agent0/hyperdrive/exec/trade_loop.py:    return is_slippage, trade_result
./lib/agent0/agent0/hyperdrive/exec/trade_loop.py:    return invalid_balance, trade_result
./lib/agent0/agent0/hyperdrive/exec/setup_experiment.py:    return hyperdrive, agent_accounts
./lib/agent0/agent0/hyperdrive/policies/arbitrage.py:        return action_list, False
./lib/agent0/agent0/hyperdrive/policies/random_agent.py:            return [], False
./lib/agent0/agent0/hyperdrive/policies/random_agent.py:        return [], False
./lib/agent0/agent0/hyperdrive/crash_report/crash_report.py:    return {"address": agent.checksum_address, "policy": agent.policy.name}
./lib/agent0/agent0/base/policies/no_action.py:        return [], False
./lib/agent0/agent0/test_fixtures/cycle_trade_policy.py:            return [], True
./lib/agent0/agent0/test_fixtures/cycle_trade_policy.py:        return action_list, done_trading
./lib/agent0/examples/custom_agent.py:        return action_list, False
./tests/bot_load_state_test.py:        return action_list, done_trading
./tests/multi_trade_per_block_test.py:        return action_list, True

8 return statements with parentheses:

grep -rsI "^ *return *([^,]*," .
./lib/pypechain/pypechain/run_pypechain.py:    return (intersection, unique_values)
./lib/elfpy/elfpy/markets/hyperdrive/yieldspace_pricing_model_sol.py:    return (optimal_z - z, y - optimal_y)
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:        return (FixedPoint(0), {checkpoint_time: FixedPoint(0)}, FixedPoint(0))
./lib/elfpy/elfpy/markets/hyperdrive/hyperdrive_actions.py:    return (d_base_volume, d_checkpoints, lp_margin)
./lib/ethpy/ethpy/base/transactions.py:    return (return_value_name, return_value_type)
./lib/ethpy/ethpy/base/receipts.py:    return (None, None)
./lib/chainsync/chainsync/dashboard/build_leaderboard.py:    return (comb_leaderboard.astype(str), ind_leaderboard.astype(str))
./lib/agent0/bin/checkpoint_bot.py:    return (eth_config, env_config)

wakamex avatar Oct 11 '23 19:10 wakamex