Attempt at a Windows version of the plotman Chia Plot Manager system

Overview

windows plotman: an attempt to get plotman to work on windows

THIS IS A BETA. Not ready for production use just yet. Almost, but not quite there yet.

This is a tool for managing Chia based on Plotman (https://github.com/ericaltendorf/plotman)

This is a work in progress. Please see the original linux version for additional info:

https://github.com/ericaltendorf/plotman

Please contact me at: [email protected] or Wolfrage on discord in the #chia channel: https://discord.gg/JESmva9R - pop in and say hi!

Known issues:

  • Archiving hasn't been touched
  • IO stats does not work on windows
  • Resizing terminal messes up the curses display
  • Common dir prefix does not work so whole dir path is shown for temps and dest drives
  • Various other issues

Installation

Copy your chia.exe file to chia2.exe and use that for now! Avoids conflicts with plots running from GUI or commandline. Will adjust after testing complete.

This program requires psutil, pyfakefs,texttable, windows-curses, pyreadline, pyyaml, and pypsutil.

First, Edit manager.py to hardcode your chia.exe location (sorry, manual for now). Second, Edit config.yaml for your settings. Third, provide feedback and help me with this because I am soooo not a python guy. I'm really, really, really not. Fourthly, send me pizza.

Run command in Windows Powershell: python plotman.py interactive

image

Comments
  • plotman hang in powershell

    plotman hang in powershell

    Hi,

    my plotman hang / freeze and doesnt respond to Q key or CTRL + C. How do I gain my plotman back? If I close my powershell, all the chia2 process will be terminated.

    Thanks.

    ps.

    I still can see the plot running from cmd :
    C:\plotman>python plotman.py status plot id k tmp dst wall phase tmp pid stat mem user sys io 36a956c6... 32 G:\Temp G:\Temp 0:20 1:3 93G 16128 RUN 7.9G 0:57 0:02 0s 3aae5e69... 32 G:\Temp G:\Temp 3:29 2:3 350G 17308 RUN 6.8G 6:55 0:16 0s e5d6ce9d... 32 G:\Temp G:\Temp 5:08 3:3 309G 13368 RUN 6.8G 8:20 0:23 0s f4485de9... 32 G:\Temp G:\Temp 6:39 3:6 222G 13432 RUN 6.8G 9:38 0:30 0s

    opened by Handri-Kosada 3
  • kept getting error when starting a session (first time running)

    kept getting error when starting a session (first time running)

    kept getting a error whenever i tried to run the software both in command prompt and powershell claiming that permissions has been declined when my windows OS is in admin mode and every permission has been approved and i entered everything correctly in the config file my temp location my direct location threads ram and entered in my pool and farming ID but kept getting the error in both software's and wouldn't run a set in a plotting session not a single one

    plotman error 2 plotman error

    opened by coolpro313 1
  • Ignore moved plots

    Ignore moved plots

    Fix for FileNotFound exception, or other I/O errors while generating reports.

    Traceback (most recent call last): File "reporting.py", line 157, in dst_dir_report dir_plots = plot_util.list_k32_plots(d) File "plot_util.py", line 59, in list_k32_plots if os.stat(plot).st_size > (0.95 * get_k32_plotsize()): FileNotFoundError: [WinError 2] The system cannot find the file specified: x.plot

    opened by mbaileys 0
  • config scheduling

    config scheduling

    config.yaml:

            # Don't run a job on a particular temp dir until all existing jobs
            # have progresed at least this far.  Phase major corresponds to the
            # plot phase, phase minor corresponds to the table or table pair
            # in sequence.
            tmpdir_stagger_phase_major: 2
            tmpdir_stagger_phase_minor: 1
    
            # Don't run more than this many jobs at a time on a single temp dir.
            tmpdir_max_jobs: 1
    
            # Don't run any jobs (across all temp dirs) more often than this.
            global_stagger_m: 35
    
            # How often the daemon wakes to consider starting a new plot job
            polling_time_s: 60```
            
    tmpdir_stagger_phase_* is not being honored, and new plots are started every 35 minutes
    opened by loppefaaret 0
  • Hacktoberfest contributions

    Hacktoberfest contributions

    Hey @wolfrage76 any chance you can add hacktoberfest as a topic for this repo? I would love to submit some pull requests for Hacktoberfest to make some improvements to your program like support for pooling.

    This is an awesome tool btw I really appreciate it!

    opened by Connor-Knabe 0
  • can you merge my modify

    can you merge my modify

    https://gitee.com/xana/windows-plotman/blob/master/config.yaml

    https://gitee.com/xana/windows-plotman/blob/master/manager.py

    https://gitee.com/xana/windows-plotman/blob/master/run.bat

    https://gitee.com/xana/windows-plotman/blob/master/status.bat

    add "tmpdir_stagger_phase_limit"

    opened by aicodex 0
  • "curses function returned NULL" in interactive

    This appears to happen when the terminal window is too small. If I start it up and leave it running, eventually when many plots are running in parallel, the dynamic window size calculation tries to create a window too big and runs into this error. Can be worked around by just resizing the terminal to very large before running, but this could cause issues for people not expecting it.

    py plotman.py interactive Traceback (most recent call last): File "C:\Users\klam\Desktop\PlotMan\plotman.py", line 126, in interactive.run_interactive() File "C:\Users\klam\Desktop\PlotMan\interactive.py", line 284, in run_interactive curses.wrapper(curses_main) File "C:\Users\klam\AppData\Local\Programs\Python\Python39\lib\curses_init_.py", line 94, in wrapper return func(stdscr, *args, **kwds) File "C:\Users\klam\Desktop\PlotMan\interactive.py", line 230, in curses_main dstwin = curses.newwin( _curses.error: curses function returned NULL

    opened by kevklam 1
  • Suggestion:

    Suggestion: "monitor mode"

    Hi! First of all, just wanted to say a big THANK YOU for packaging this.

    I wanted to mention that due to a number of instabilities with interactive mode (#18 , curses messing up when window resizes, crashing when external drive is removed), I think it's quite risky to let interactive mode do the plotting... whereas the 'plot' mode seems pretty stable. What I ended up doing is running in 'plot' mode in one terminal, then editing interactive.py to completely remove the plotting functionality (I could also have just put it in 'inactive' mode but I didn't want to accidentally hit 'p' and turn it back on) and running that in a separate terminal. This has worked out much better for me, since I can just restart the interactive terminal when it has problems without losing progress.

    Would be nice to make this an actual feature. Not sure if you care to do it since this is a windows fork of the original, but thought I'd mention it here since I suspect most of the instability is related to Windows and doesn't apply as much to the original.

    opened by kevklam 2
  • - tmpdir_max_jobs         tmp_overrides

    - tmpdir_max_jobs tmp_overrides

    This is not part of the config, i tried to copy over from plotman but it does not work

    If you use different disk classes, like ssd, nvme and mechanical drives, one parameter for all tmp folders is not effective.

    opened by grobalt 0
  • ValueError: time data 'Mon May 10 23:43:14 2021' does not match format '%a %b  %d %H:%M:%S %Y'

    ValueError: time data 'Mon May 10 23:43:14 2021' does not match format '%a %b %d %H:%M:%S %Y'

    Konnte Plotman interactive 1x starten, er legte auch einen chia prozess an, arbeitet auch an diesem. kurz darauf schließt sich das programm und kann es auch nicht mehr starten:

    PS C:\windows-plotman-master> python plotman.py interactive Traceback (most recent call last): File "C:\windows-plotman-master\plotman.py", line 126, in interactive.run_interactive() File "C:\windows-plotman-master\interactive.py", line 314, in run_interactive curses.wrapper(curses_main) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\lib\curses_init_.py", line 94, in wrapper return func(stdscr, *args, **kwds) File "C:\windows-plotman-master\interactive.py", line 108, in curses_main jobs = Job.get_running_jobs(dir_cfg['log']) File "C:\windows-plotman-master\job.py", line 80, in get_running_jobs jobs.append(Job(proc, logroot)) File "C:\windows-plotman-master\job.py", line 134, in init self.init_from_logfile() File "C:\windows-plotman-master\job.py", line 156, in init_from_logfile self.start_time = datetime.strptime(m.group(1), '%a %b %d %H:%M:%S %Y') File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\lib_strptime.py", line 568, in _strptime_datetime tt, fraction, gmtoff_fraction = _strptime(data_string, format) File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1520.0_x64__qbz5n2kfra8p0\lib_strptime.py", line 349, in _strptime raise ValueError("time data %r does not match format %r" % ValueError: time data 'Mon May 10 23:43:14 2021' does not match format '%a %b %d %H:%M:%S %Y' PS C:\windows-plotman-master>

    opened by grobalt 2
Owner
null
chiarose(XCR) based on chia(XCH) source code fork, open source public chain

chia-rosechain 一个无耻的小活动 | A shameless little event 如果您喜欢这个项目,请点击star 将赠送您520朵玫瑰,可以去 facebook 留下您的(xcr)地址,和github用户名。 If you like this project, please

ddou123 376 Dec 14, 2022
Reference python implementation of Chia pool operations for pool operators

This repository provides a sample server written in python, which is meant to server as a basis for a Chia Pool. While this is a fully functional implementation, it requires some work in scalability and security to run in production.

Chia Network 451 Dec 13, 2022
A simple and easy to use Python's PIP configuration manager, similar to the Arch Linux's Java manager.

PIPCONF - The PIP configuration manager If you need to manage multiple configurations containing indexes and trusted hosts for PIP, this project was m

João Paulo Carvalho 11 Nov 30, 2022
ArinjoyTheDev 1 Jul 17, 2022
Expense-manager - Expense manager with python

Expense_manager TO-DO Source extractor: Credit Card, Wallet Destination extracto

null 1 Feb 13, 2022
Attempt at creating organized collection of little handy snippets of code I'm receiving along the way

ChaosCode Attempt at creating organized collection of little handy snippets of code I'm receiving along the way I always considered coding and program

INFU 4 Nov 26, 2022
Graveyard is an attempt at open-source reimplementation of DraciDoupe.cz

Graveyard: Place for Dead (and Undead) Graveyard is an attempt at open-source reimplementation of DraciDoupe.cz (referred to as DDCZ in this text). De

DraciDoupe.cz 5 Mar 17, 2022
A hackers attempt at an MVP anki plugin

my anki plugin if you have found this by accident, you should probably run away this is nothing more than a hackers attempt at an MVP anki plugin I re

Chris Hall 1 Nov 2, 2021
An attempt at furthering Factorio Calculator to work in more general contexts.

factorio-optimizer Lets do Factorio Calculator but make it optimize. Why not use Factorio Calculator? Becuase factorio calculator is not general. The

Jonathan Woollett-Light 1 Jun 3, 2022
My attempt at this years Advent of Code!

Advent-of-code-2021 My attempt at this years Advent of Code! day 1: ** day 2: ** day 3: ** day 4: ** day 5: ** day 6: ** day 7: ** day 8: * day 9: day

null 1 Jul 6, 2022
Windows Task Manager with special features, written in Python.

Killer That damn Chrome ⬇ Download here · ?? Join our discord Tired of trying to kill processes with the default Windows Task Manager? Selecting one b

Nathan Araújo 49 Jan 3, 2023
A Linux program to create a Windows USB stick installer from a real Windows DVD or image.

WoeUSB-ng A Linux program to create a Windows USB stick installer from a real Windows DVD or image. This package contains two programs: woeusb: A comm

Longinus 1 Nov 19, 2021
Apache Superset out of box version(Windows 64-bit)

superset_app Apache Superset out of box version (Windows 64bit) prepare job download 3 files python-3.8.10-embed-amd64.zip get-pip.py python_geohash‑0

Steven Lee 9 Oct 2, 2022
WinBoost: Boost your windows system.

Winboost runs a complete checkup of your entire system locating junk files, speed-reducing issues and causes of any system or application glitches or crashes. Through a lot of research and testing, we have worked out precise techniques that allow locating issues, which can be safely removed with no risk of damaging your operating system.

Smit Parmar 4 Oct 1, 2021
A free and powerful system for awareness and research of the American judicial system.

CourtListener Started in 2009, CourtListener.com is the main initiative of Free Law Project. The goal of CourtListener.com is to provide high quality

Free Law Project 332 Dec 25, 2022
Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu.

Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu.

WayDroid 4.7k Jan 8, 2023
System Design Assignments as part of Arpit's System Design Masterclass

System Design Assignments The repository contains a set of problem statements around Software Architecture and System Design as conducted by Arpit's S

Relog 1.1k Jan 9, 2023
A full-featured, hackable tiling window manager written and configured in Python

A full-featured, hackable tiling window manager written and configured in Python Features Simple, small and extensible. It's easy to write your own la

Qtile 3.8k Dec 31, 2022
Tiling manager which runs on top of EWMH window managers.

PyTyle is an extremely versatile and extensible tiling manager that is meant to be used on top of EWMH window managers. Its feature set was modeled af

null 55 Jul 29, 2021