Introducing Swar's Chia Plot Manager (Windows, Linux, probably Mac too)

Swar’s Chia Plot Manager

GitHub URL: GitHub - swar/Swar-Chia-Plot-Manager: This is a Cross-Platform Plot Manager for Chia Plotting that is simple, easy-to-use, and reliable.

I’ve noticed some interest in getting a Plot Manager for Windows. This project spurred from my own needs and then advanced to where it’s at now because of repeated interest from people. I ended up with about 45 people with access to the beta of which anywhere between 20-40 people were actively using it.

The basis for this manager is to make a simple, easy-to-use, and reliable plot manager that will just churn out plots. I have a bunch of features on it, but here’s a small summary.

Feature Highlights

  • Stagger your plots so that your computer resources can avoid high peaks.
  • Allow for a list of destination directories.
  • Utilize temporary space to its maximum potential by starting a new plot early.
  • Run a maximum number of plots concurrently to avoid bottlenecks or limit resource hogging.
  • More in-depth active plot screen.

Here is a link to how the view ends up looking as it’s churning through plots:

A huge feature is that it will detect all running chia plot creations so that it will adhere to your constraints. I’ve had users start using this plot manager while their GUI was finishing and it ran without any hurdles because there is a maximum number of global plots you can have running at once. It should be all documented, if it’s not I can definitely add it in.

I would love to get feedback from people as well! Hopefully this is able to help some people. Happy plotting!

16 Likes

Very cool. I will check it out! Thank you for the contribution to the community!

2 Likes

This is exactly what i’ve been looking for!

Just started mine, seem to have 2x micron in viewer rather than 1 micron and 1 inland?

1 Like

You’re using the same temporary and destination directories for both so it’s having a hard time matching jobs to each other. I recommend using a different folder for these kinds of situations or just consolidating it into one job.

I think this is may be what I’m looking for.

  1. May I suggest an additional feature: https://chiaforum.com/t/idea-on-plotting-and-space-optimization-automation/

  2. Can you add comment on requirements.txt, indicating what each installation is for.

Welcome and thanks for the great tool!

1 Like

Great tool. I’m already using it. Thank you

1 Like

Ok, i’ll split final destination between jobs. Waiting for a few smaller NVME’s to arrive so i can assign temp2.

Is it possible to have phase times as seconds only? Appears to be the standard for all benchmarks for plotting.

Would it be possible to have a max mem / CPU usage recorded?

Would it be possible to have a job delay so jobs can be staggered? Purely to add a stagger into final destination move onto HDD.

Would it be possible to have some form of stop switch rather than a max plots? i.e, something that stops job creation / session end without killing all current plots and allowing running to finish?

Really liking this program, just what we needed for Win. Steadily churning and avg plot an hour right now with zero optimisation, just waiting for a 64gb set of ram to be delivered today then try something different. I’ll hopefully be able to double down and run 4 jobs, ph.1 & 2 concurrent then split 1/2 and 3/4 onto 2x temp2 nvme then split those between the 4 HDD’s. Pretty sure ph.3 is what’s bottlenecking me right now!

i have a question about changing the config.yaml if the swar plot manager runs. Will it reread the configfile if i made any changes inbetween or only at the start?
If swar reads it at the start, how do i restart the plots? Do i need to delete all unfinished plot and log files first and start swar clean again with the new settings??

@swar , What am i doing wrong? I’ve got corei7 10700K (8/16 cores/threads), 64GB RAM and temp.drive: raid-2x nvme m2 2TB.
I wanted to do simultaneously10 plots, max 3 per phase one, this is the config:

- name: main
max_plots: 54
farmer_public_key:
pool_public_key:
temporary_directory: D:\
temporary2_directory:
destination_directory: F:\
size: 32
bitfield: true
threads: 4
buckets: 128
memory_buffer: 6000
max_concurrent: 10
max_concurrent_with_start_early: 12
stagger_minutes: 0
max_for_phase_1: 3
concurrency_start_early_phase: 4
concurrency_start_early_phase_delay: 0
temporary2_destination_sync: false

and i constantly get 8:


sometimes even without 3 on phase 1:

where do I set the maximum number of plots?
I want, for example, only five plots and an end?

It wont change until manager is restarted.

At the top of the job config just below “name”. You can see it in the users screenshot above. (default is 999)

max_plots: 9

swar make 13 plots

Did you restart your manager during this time? Manager keeps plot counts cached. If you restart, it loses counts because it doesn’t save data anywhere.

I can look into #1, but I already have quite a roadmap for myself planned.

#2 sure, will add that on my todo.

Not unless you edit the section where I am doing the logic for making the timestamp. I can add this on my todo but it will be near the bottom since it’s just a nice to have.

Yes, but there are tools to do this that will be better than what I have because the view is fallible and can crash and lose track of its data.

Yes on my roadmap.

Do you have example use cases for this? I like this idea.

It’s hard to tell based off this screenshot. Right now you have 3 in phase 1 so it makes sense why it won’t kick off anymore

Hi there,

Thanks for making this, unfortunately I’m running into a problem. The log says this:

Traceback (most recent call last):
      File "C:\Swar-Chia-Plot-Manager-main\Swar-Chia-Plot-Manager-main\stateless-manager.py", line 58, in <module>
        jobs, running_work, next_job_work, next_log_check = monitor_jobs_to_start(
      File "C:\Swar-Chia-Plot-Manager-main\Swar-Chia-Plot-Manager-main\plotmanager\library\utilities\jobs.py", line 119, in monitor_jobs_to_start
        job, work = start_work(job=job, chia_location=chia_location, log_directory=log_directory)
      File "C:\Swar-Chia-Plot-Manager-main\Swar-Chia-Plot-Manager-main\plotmanager\library\utilities\jobs.py", line 169, in start_work
        process = start_process(args=plot_command, log_file=log_file)
      File "C:\Swar-Chia-Plot-Manager-main\Swar-Chia-Plot-Manager-main\plotmanager\library\utilities\processes.py", line 276, in start_process
        process = subprocess.Popen(
      File "C:\Users\...\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 951, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "C:\Users\...\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1420, in _execute_child
        hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
    FileNotFoundError: [WinError 2] The system cannot find the file specified

Can you help me with this? Sorry python newbie here